Browse Source

Vk: recognize VK_EXT_extended_dynamic_state.

pull/494/head
Vladimír Vondruš 5 years ago
parent
commit
661c26be2d
  1. 16
      doc/vulkan-mapping.dox
  2. 1
      doc/vulkan-support.dox
  3. 3
      src/Magnum/Vk/Device.cpp
  4. 2
      src/Magnum/Vk/DeviceCreateInfo.h
  5. 9
      src/Magnum/Vk/DeviceFeatures.h
  6. 2
      src/Magnum/Vk/DeviceProperties.cpp
  7. 3
      src/Magnum/Vk/DeviceProperties.h
  8. 1
      src/Magnum/Vk/Extensions.cpp
  9. 1
      src/Magnum/Vk/Extensions.h
  10. 1
      src/Magnum/Vk/Implementation/DeviceFeatures.h
  11. 2
      src/Magnum/Vk/Implementation/deviceFeatureMapping.hpp
  12. 1
      src/MagnumExternal/Vulkan/extensions.txt
  13. 12
      src/MagnumExternal/Vulkan/flextVk.cpp
  14. 42
      src/MagnumExternal/Vulkan/flextVk.h
  15. 18
      src/MagnumExternal/Vulkan/flextVkGlobal.h

16
doc/vulkan-mapping.dox

@ -115,7 +115,7 @@ Vulkan function | Matching API
@fn_vk{CmdBindDescriptorSets} | |
@fn_vk{CmdBindIndexBuffer} | |
@fn_vk{CmdBindPipeline} | |
@fn_vk{CmdBindVertexBuffers} | |
@fn_vk{CmdBindVertexBuffers}, \n @fn_vk{CmdBindVertexBuffers2EXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdBlitImage}, \n @fn_vk{CmdBlitImage2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdBuildAccelerationStructuresIndirectKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdBuildAccelerationStructuresKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@ -150,17 +150,28 @@ Vulkan function | Matching API
@fn_vk{CmdResetQueryPool} | |
@fn_vk{CmdResolveImage}, \n @fn_vk{CmdResolveImage2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdSetBlendConstants} | |
@fn_vk{CmdSetCullModeEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetDepthBias} | |
@fn_vk{CmdSetDeviceMask} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@fn_vk{CmdSetDepthBounds} | |
@fn_vk{CmdSetDepthBoundsTestEnableEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetDepthCompareOpEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetDepthTestEnableEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetDepthWriteEnableEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetDeviceMask} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@fn_vk{CmdSetEvent} | |
@fn_vk{CmdSetFrontFaceEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetLineWidth} | |
@fn_vk{CmdSetPrimitiveTopologyEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetRayTracingPipelineStackSizeKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdSetScissor} | |
@fn_vk{CmdSetScissorWithCountEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetStencilCompareMask} | |
@fn_vk{CmdSetStencilOpEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetStencilReference} | |
@fn_vk{CmdSetStencilTestEnableEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdSetStencilWriteMask} | |
@fn_vk{CmdSetViewport} | |
@fn_vk{CmdSetViewportWithCountEXT} @m_class{m-label m-flat m-warning} **EXT** | |
@fn_vk{CmdTraceRaysIndirectKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdTraceRaysKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdUpdateBuffer} | |
@ -593,6 +604,7 @@ Vulkan structure | Matching API
@type_vk{PhysicalDeviceDescriptorIndexingFeatures} @m_class{m-label m-flat m-success} **EXT, 1.2** | @ref DeviceFeatures
@type_vk{PhysicalDeviceDescriptorIndexingProperties} @m_class{m-label m-flat m-success} **EXT, 1.2** | |
@type_vk{PhysicalDeviceDriverProperties} @m_class{m-label m-flat m-success} **KHR, 1.2** | |
@type_vk{PhysicalDeviceExtendedDynamicStateFeaturesEXT} @m_class{m-label m-flat m-warning} **EXT** | @ref DeviceFeatures
@type_vk{PhysicalDeviceExternalBufferInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@type_vk{PhysicalDeviceExternalFenceInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@type_vk{PhysicalDeviceExternalImageFormatInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | |

1
doc/vulkan-support.dox

@ -122,6 +122,7 @@ Extension | Status
@vk_extension{EXT,validation_features} @m_class{m-label m-info} **instance** | |
@vk_extension{EXT,vertex_attribute_divisor} | done
@vk_extension{EXT,index_type_uint8} | @ref Vk::vkIndexType() only
@vk_extension{EXT,extended_dynamic_state} | |
@vk_extension{KHR,acceleration_structure} | |
@vk_extension{KHR,portability_subset} | done except properties
@vk_extension{KHR,deferred_host_operations} | |

3
src/Magnum/Vk/Device.cpp

@ -411,6 +411,7 @@ DeviceCreateInfo& DeviceCreateInfo::setEnabledFeatures(const DeviceFeatures& fea
_state->features.bufferDeviceAddress,
_state->features.hostQueryReset,
_state->features.indexTypeUint8,
_state->features.extendedDynamicState,
_state->features.rayTracingPipeline,
_state->features.rayQuery
});
@ -530,6 +531,8 @@ DeviceCreateInfo& DeviceCreateInfo::setEnabledFeatures(const DeviceFeatures& fea
_state->features.hostQueryReset, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
structureConnectIfUsed(next, _state->firstEnabledFeature,
_state->features.indexTypeUint8, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT);
structureConnectIfUsed(next, _state->firstEnabledFeature,
_state->features.extendedDynamicState, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT);
structureConnectIfUsed(next, _state->firstEnabledFeature,
_state->features.rayTracingPipeline, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR);
structureConnectIfUsed(next, _state->firstEnabledFeature,

2
src/Magnum/Vk/DeviceCreateInfo.h

@ -266,6 +266,8 @@ class MAGNUM_VK_EXPORT DeviceCreateInfo {
* 1.2, @vk_extension{EXT,host_query_reset})
* - @type_vk_keyword{PhysicalDeviceIndexTypeUint8FeaturesEXT}
* (@vk_extension{EXT,index_type_uint8})
* - @type_vk_keyword{PhysicalDeviceExtendedDynamicStateFeaturesEXT}
* (@vk_extension{EXT,extended_dynamic_state})
* - @type_vk_keyword{PhysicalDeviceRayTracingPipelineFeaturesKHR}
* (@vk_extension{KHR,ray_tracing_pipeline})
* - @type_vk_keyword{PhysicalDeviceRayQueryFeaturesKHR}

9
src/Magnum/Vk/DeviceFeatures.h

@ -1261,6 +1261,15 @@ enum class DeviceFeature: UnsignedShort {
*/
IndexTypeUint8,
/* VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, #268 */
/**
* Extended dynamic state is supported.
* @requires_vk_extension Extension @vk_extension{EXT,extended_dynamic_state}
* @todoc list the actual DynamicState values once the enum exists
*/
ExtendedDynamicState,
/* VkPhysicalDeviceRayTracingPipelineFeaturesKHR, #348 */
/**

2
src/Magnum/Vk/DeviceProperties.cpp

@ -337,6 +337,8 @@ const DeviceFeatures& DeviceProperties::features() {
Implementation::structureConnect(next, features.hostQueryReset, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
if(isOrVersionSupportedInternal<Extensions::EXT::index_type_uint8>())
Implementation::structureConnect(next, features.indexTypeUint8, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT);
if(isOrVersionSupportedInternal<Extensions::EXT::extended_dynamic_state>())
Implementation::structureConnect(next, features.extendedDynamicState, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT);
if(isOrVersionSupportedInternal<Extensions::KHR::ray_tracing_pipeline>())
Implementation::structureConnect(next, features.rayTracingPipeline, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR);
if(isOrVersionSupportedInternal<Extensions::KHR::ray_query>())

3
src/Magnum/Vk/DeviceProperties.h

@ -489,6 +489,9 @@ class MAGNUM_VK_EXPORT DeviceProperties {
* - If the @vk_extension{EXT,index_type_uint8} extension is
* supported by the device, the `pNext` chain contains
* @type_vk_keyword{PhysicalDeviceIndexTypeUint8FeaturesEXT}
* - If the @vk_extension{EXT,extended_dynamic_state} extension is
* supported by the device, the `pNext` chain contains
* @type_vk_keyword{PhysicalDeviceExtendedDynamicStateFeaturesEXT}
* - If the @vk_extension{KHR,ray_tracing_pipeline} extension is
* supported by the device, the `pNext` chain contains
* @type_vk_keyword{PhysicalDeviceRayTracingPipelineFeaturesKHR}

1
src/Magnum/Vk/Extensions.cpp

@ -68,6 +68,7 @@ namespace {
alphabetically. */
constexpr Extension DeviceExtensions[] {
Extensions::EXT::debug_marker{},
Extensions::EXT::extended_dynamic_state{},
Extensions::EXT::index_type_uint8{},
Extensions::EXT::texture_compression_astc_hdr{},
Extensions::EXT::vertex_attribute_divisor{},

1
src/Magnum/Vk/Extensions.h

@ -123,6 +123,7 @@ namespace EXT {
_extension(7, EXT,separate_stencil_usage, Vk10, Vk12) // #247
_extension(8, EXT,host_query_reset, Vk10, Vk12) // #262
_extension(9, EXT,index_type_uint8, Vk10, None) // #266
_extension(10, EXT,extended_dynamic_state, Vk10, None) // #268
} namespace IMG {
_extension(20, IMG,format_pvrtc, Vk10, None) // #55
} namespace KHR {

1
src/Magnum/Vk/Implementation/DeviceFeatures.h

@ -60,6 +60,7 @@ struct DeviceFeatures {
VkPhysicalDeviceBufferDeviceAddressFeatures bufferDeviceAddress;
VkPhysicalDeviceHostQueryResetFeatures hostQueryReset;
VkPhysicalDeviceIndexTypeUint8FeaturesEXT indexTypeUint8;
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extendedDynamicState;
VkPhysicalDeviceRayTracingPipelineFeaturesKHR rayTracingPipeline;
VkPhysicalDeviceRayQueryFeaturesKHR rayQuery;
};

2
src/Magnum/Vk/Implementation/deviceFeatureMapping.hpp

@ -215,6 +215,8 @@ _cext(HostQueryReset, hostQueryReset, hostQueryReset, EXT::host_query_reset)
_cext(IndexTypeUint8, indexTypeUint8, indexTypeUint8, EXT::index_type_uint8)
_cext(ExtendedDynamicState, extendedDynamicState, extendedDynamicState, EXT::extended_dynamic_state)
#define _ce(value, field) _cext(value, field, rayTracingPipeline, KHR::ray_tracing_pipeline)
_ce(RayTracingPipeline, rayTracingPipeline)
_ce(RayTracingPipelineShaderGroupHandleCaptureReplay, rayTracingPipelineShaderGroupHandleCaptureReplay)

1
src/MagnumExternal/Vulkan/extensions.txt vendored

@ -63,6 +63,7 @@ extension EXT_validation_features optional
extension EXT_texture_compression_astc_hdr optional
extension EXT_vertex_attribute_divisor optional
extension EXT_index_type_uint8 optional
extension EXT_extended_dynamic_state optional
extension IMG_format_pvrtc optional
extension KHR_acceleration_structure optional
extension KHR_portability_subset optional

12
src/MagnumExternal/Vulkan/flextVk.cpp vendored

@ -89,6 +89,18 @@ void flextVkInitDevice(VkDevice device, FlextVkDevice* data, PFN_vkVoidFunction(
data->QueueInsertDebugUtilsLabelEXT = reinterpret_cast<void(VKAPI_PTR*)(VkQueue, const VkDebugUtilsLabelEXT*)>(getDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT"));
data->SetDebugUtilsObjectNameEXT = reinterpret_cast<VkResult(VKAPI_PTR*)(VkDevice, const VkDebugUtilsObjectNameInfoEXT*)>(getDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT"));
data->SetDebugUtilsObjectTagEXT = reinterpret_cast<VkResult(VKAPI_PTR*)(VkDevice, const VkDebugUtilsObjectTagInfoEXT*)>(getDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT"));
data->CmdBindVertexBuffers2EXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer*, const VkDeviceSize*, const VkDeviceSize*, const VkDeviceSize*)>(getDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT"));
data->CmdSetCullModeEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkCullModeFlags)>(getDeviceProcAddr(device, "vkCmdSetCullModeEXT"));
data->CmdSetDepthBoundsTestEnableEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkBool32)>(getDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT"));
data->CmdSetDepthCompareOpEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkCompareOp)>(getDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT"));
data->CmdSetDepthTestEnableEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkBool32)>(getDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT"));
data->CmdSetDepthWriteEnableEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkBool32)>(getDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT"));
data->CmdSetFrontFaceEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkFrontFace)>(getDeviceProcAddr(device, "vkCmdSetFrontFaceEXT"));
data->CmdSetPrimitiveTopologyEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkPrimitiveTopology)>(getDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT"));
data->CmdSetScissorWithCountEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, uint32_t, const VkRect2D*)>(getDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT"));
data->CmdSetStencilOpEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp)>(getDeviceProcAddr(device, "vkCmdSetStencilOpEXT"));
data->CmdSetStencilTestEnableEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, VkBool32)>(getDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT"));
data->CmdSetViewportWithCountEXT = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, uint32_t, const VkViewport*)>(getDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT"));
data->ResetQueryPoolEXT = reinterpret_cast<void(VKAPI_PTR*)(VkDevice, VkQueryPool, uint32_t, uint32_t)>(getDeviceProcAddr(device, "vkResetQueryPoolEXT"));
data->BuildAccelerationStructuresKHR = reinterpret_cast<VkResult(VKAPI_PTR*)(VkDevice, VkDeferredOperationKHR, uint32_t, const VkAccelerationStructureBuildGeometryInfoKHR*, const VkAccelerationStructureBuildRangeInfoKHR* const*)>(getDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR"));
data->CmdBuildAccelerationStructuresIndirectKHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, uint32_t, const VkAccelerationStructureBuildGeometryInfoKHR*, const VkDeviceAddress*, const uint32_t*, const uint32_t* const*)>(getDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR"));

42
src/MagnumExternal/Vulkan/flextVk.h vendored

@ -254,6 +254,11 @@ extern "C" {
#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
/* VK_EXT_extended_dynamic_state */
#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
/* VK_IMG_format_pvrtc */
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
@ -647,6 +652,18 @@ typedef enum {
VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000
} VkDynamicState;
@ -1545,6 +1562,7 @@ typedef enum {
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
@ -4744,6 +4762,12 @@ typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
VkCopyAccelerationStructureModeKHR mode;
} VkCopyMemoryToAccelerationStructureInfoKHR;
typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
VkStructureType sType;
void* pNext;
VkBool32 extendedDynamicState;
} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
VkStructureType sType;
void* pNext;
@ -4923,6 +4947,9 @@ struct FlextVkInstance {
void (VKAPI_PTR *DestroyDebugUtilsMessengerEXT)(VkInstance, VkDebugUtilsMessengerEXT, const VkAllocationCallbacks*);
void (VKAPI_PTR *SubmitDebugUtilsMessageEXT)(VkInstance, VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT, const VkDebugUtilsMessengerCallbackDataEXT*);
/* VK_EXT_extended_dynamic_state */
/* VK_EXT_host_query_reset */
@ -5058,6 +5085,21 @@ struct FlextVkDevice {
VkResult (VKAPI_PTR *SetDebugUtilsObjectNameEXT)(VkDevice, const VkDebugUtilsObjectNameInfoEXT*);
VkResult (VKAPI_PTR *SetDebugUtilsObjectTagEXT)(VkDevice, const VkDebugUtilsObjectTagInfoEXT*);
/* VK_EXT_extended_dynamic_state */
void (VKAPI_PTR *CmdBindVertexBuffers2EXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer*, const VkDeviceSize*, const VkDeviceSize*, const VkDeviceSize*);
void (VKAPI_PTR *CmdSetCullModeEXT)(VkCommandBuffer, VkCullModeFlags);
void (VKAPI_PTR *CmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer, VkBool32);
void (VKAPI_PTR *CmdSetDepthCompareOpEXT)(VkCommandBuffer, VkCompareOp);
void (VKAPI_PTR *CmdSetDepthTestEnableEXT)(VkCommandBuffer, VkBool32);
void (VKAPI_PTR *CmdSetDepthWriteEnableEXT)(VkCommandBuffer, VkBool32);
void (VKAPI_PTR *CmdSetFrontFaceEXT)(VkCommandBuffer, VkFrontFace);
void (VKAPI_PTR *CmdSetPrimitiveTopologyEXT)(VkCommandBuffer, VkPrimitiveTopology);
void (VKAPI_PTR *CmdSetScissorWithCountEXT)(VkCommandBuffer, uint32_t, const VkRect2D*);
void (VKAPI_PTR *CmdSetStencilOpEXT)(VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp);
void (VKAPI_PTR *CmdSetStencilTestEnableEXT)(VkCommandBuffer, VkBool32);
void (VKAPI_PTR *CmdSetViewportWithCountEXT)(VkCommandBuffer, uint32_t, const VkViewport*);
/* VK_EXT_host_query_reset */
void (VKAPI_PTR *ResetQueryPoolEXT)(VkDevice, VkQueryPool, uint32_t, uint32_t);

18
src/MagnumExternal/Vulkan/flextVkGlobal.h vendored

@ -51,6 +51,9 @@ extern FLEXTVK_EXPORT FlextVkInstance flextVkInstance;
#define vkDestroyDebugUtilsMessengerEXT flextVkInstance.DestroyDebugUtilsMessengerEXT
#define vkSubmitDebugUtilsMessageEXT flextVkInstance.SubmitDebugUtilsMessageEXT
/* VK_EXT_extended_dynamic_state */
/* VK_EXT_host_query_reset */
@ -182,6 +185,21 @@ extern FLEXTVK_EXPORT FlextVkDevice flextVkDevice;
#define vkSetDebugUtilsObjectNameEXT flextVkDevice.SetDebugUtilsObjectNameEXT
#define vkSetDebugUtilsObjectTagEXT flextVkDevice.SetDebugUtilsObjectTagEXT
/* VK_EXT_extended_dynamic_state */
#define vkCmdBindVertexBuffers2EXT flextVkDevice.CmdBindVertexBuffers2EXT
#define vkCmdSetCullModeEXT flextVkDevice.CmdSetCullModeEXT
#define vkCmdSetDepthBoundsTestEnableEXT flextVkDevice.CmdSetDepthBoundsTestEnableEXT
#define vkCmdSetDepthCompareOpEXT flextVkDevice.CmdSetDepthCompareOpEXT
#define vkCmdSetDepthTestEnableEXT flextVkDevice.CmdSetDepthTestEnableEXT
#define vkCmdSetDepthWriteEnableEXT flextVkDevice.CmdSetDepthWriteEnableEXT
#define vkCmdSetFrontFaceEXT flextVkDevice.CmdSetFrontFaceEXT
#define vkCmdSetPrimitiveTopologyEXT flextVkDevice.CmdSetPrimitiveTopologyEXT
#define vkCmdSetScissorWithCountEXT flextVkDevice.CmdSetScissorWithCountEXT
#define vkCmdSetStencilOpEXT flextVkDevice.CmdSetStencilOpEXT
#define vkCmdSetStencilTestEnableEXT flextVkDevice.CmdSetStencilTestEnableEXT
#define vkCmdSetViewportWithCountEXT flextVkDevice.CmdSetViewportWithCountEXT
/* VK_EXT_host_query_reset */
#define vkResetQueryPoolEXT flextVkDevice.ResetQueryPoolEXT

Loading…
Cancel
Save