|
|
|
@ -43,7 +43,7 @@ extern "C" { |
|
|
|
|
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) |
|
|
|
|
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) |
|
|
|
|
// Version of this file
|
|
|
|
|
#define VK_HEADER_VERSION 11 |
|
|
|
|
#define VK_HEADER_VERSION 26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_NULL_HANDLE 0 |
|
|
|
@ -53,11 +53,13 @@ extern "C" { |
|
|
|
|
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(__LP64__) || defined(_WIN64) || defined(__x86_64__) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) |
|
|
|
|
#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) |
|
|
|
|
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) |
|
|
|
|
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; |
|
|
|
|
#else |
|
|
|
|
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; |
|
|
|
|
#endif |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -135,6 +137,7 @@ typedef enum VkResult { |
|
|
|
|
VK_ERROR_INCOMPATIBLE_DRIVER = -9, |
|
|
|
|
VK_ERROR_TOO_MANY_OBJECTS = -10, |
|
|
|
|
VK_ERROR_FORMAT_NOT_SUPPORTED = -11, |
|
|
|
|
VK_ERROR_FRAGMENTED_POOL = -12, |
|
|
|
|
VK_ERROR_SURFACE_LOST_KHR = -1000000000, |
|
|
|
|
VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, |
|
|
|
|
VK_SUBOPTIMAL_KHR = 1000001003, |
|
|
|
@ -142,9 +145,9 @@ typedef enum VkResult { |
|
|
|
|
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, |
|
|
|
|
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, |
|
|
|
|
VK_ERROR_INVALID_SHADER_NV = -1000012000, |
|
|
|
|
VK_RESULT_BEGIN_RANGE = VK_ERROR_FORMAT_NOT_SUPPORTED, |
|
|
|
|
VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL, |
|
|
|
|
VK_RESULT_END_RANGE = VK_INCOMPLETE, |
|
|
|
|
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FORMAT_NOT_SUPPORTED + 1), |
|
|
|
|
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1), |
|
|
|
|
VK_RESULT_MAX_ENUM = 0x7FFFFFFF |
|
|
|
|
} VkResult; |
|
|
|
|
|
|
|
|
@ -210,6 +213,18 @@ typedef enum VkStructureType { |
|
|
|
|
VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, |
|
|
|
|
VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, |
|
|
|
|
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, |
|
|
|
|
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, |
|
|
|
|
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, |
|
|
|
|
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, |
|
|
|
|
VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, |
|
|
|
|
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, |
|
|
|
|
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, |
|
|
|
|
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, |
|
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, |
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, |
|
|
|
|
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, |
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, |
|
|
|
|
VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, |
|
|
|
|
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, |
|
|
|
|
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, |
|
|
|
|
VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), |
|
|
|
@ -422,6 +437,14 @@ typedef enum VkFormat { |
|
|
|
|
VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, |
|
|
|
|
VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, |
|
|
|
|
VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, |
|
|
|
|
VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, |
|
|
|
|
VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, |
|
|
|
|
VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, |
|
|
|
|
VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, |
|
|
|
|
VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, |
|
|
|
|
VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, |
|
|
|
|
VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, |
|
|
|
|
VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, |
|
|
|
|
VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED, |
|
|
|
|
VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK, |
|
|
|
|
VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1), |
|
|
|
@ -2343,7 +2366,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkIm |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const uint32_t* pData); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
|
|
|
@ -3028,7 +3051,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( |
|
|
|
|
VkBuffer dstBuffer, |
|
|
|
|
VkDeviceSize dstOffset, |
|
|
|
|
VkDeviceSize dataSize, |
|
|
|
|
const uint32_t* pData); |
|
|
|
|
const void* pData); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( |
|
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
@ -3168,13 +3191,14 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) |
|
|
|
|
|
|
|
|
|
#define VK_KHR_SURFACE_SPEC_VERSION 25 |
|
|
|
|
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" |
|
|
|
|
#define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkColorSpaceKHR { |
|
|
|
|
VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0, |
|
|
|
|
VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLORSPACE_SRGB_NONLINEAR_KHR, |
|
|
|
|
VK_COLOR_SPACE_END_RANGE_KHR = VK_COLORSPACE_SRGB_NONLINEAR_KHR, |
|
|
|
|
VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLORSPACE_SRGB_NONLINEAR_KHR - VK_COLORSPACE_SRGB_NONLINEAR_KHR + 1), |
|
|
|
|
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, |
|
|
|
|
VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, |
|
|
|
|
VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, |
|
|
|
|
VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1), |
|
|
|
|
VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF |
|
|
|
|
} VkColorSpaceKHR; |
|
|
|
|
|
|
|
|
@ -3710,7 +3734,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( |
|
|
|
|
#define VK_EXT_debug_report 1 |
|
|
|
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) |
|
|
|
|
|
|
|
|
|
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 2 |
|
|
|
|
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 3 |
|
|
|
|
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" |
|
|
|
|
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT |
|
|
|
|
|
|
|
|
@ -3828,6 +3852,270 @@ VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( |
|
|
|
|
#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_rasterization_order 1 |
|
|
|
|
#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkRasterizationOrderAMD { |
|
|
|
|
VK_RASTERIZATION_ORDER_STRICT_AMD = 0, |
|
|
|
|
VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, |
|
|
|
|
VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD, |
|
|
|
|
VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD, |
|
|
|
|
VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1), |
|
|
|
|
VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF |
|
|
|
|
} VkRasterizationOrderAMD; |
|
|
|
|
|
|
|
|
|
typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkRasterizationOrderAMD rasterizationOrder; |
|
|
|
|
} VkPipelineRasterizationStateRasterizationOrderAMD; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_shader_trinary_minmax 1 |
|
|
|
|
#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_shader_explicit_vertex_parameter 1 |
|
|
|
|
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_EXT_debug_marker 1 |
|
|
|
|
#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 3 |
|
|
|
|
#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" |
|
|
|
|
|
|
|
|
|
typedef struct VkDebugMarkerObjectNameInfoEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkDebugReportObjectTypeEXT objectType; |
|
|
|
|
uint64_t object; |
|
|
|
|
const char* pObjectName; |
|
|
|
|
} VkDebugMarkerObjectNameInfoEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkDebugMarkerObjectTagInfoEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkDebugReportObjectTypeEXT objectType; |
|
|
|
|
uint64_t object; |
|
|
|
|
uint64_t tagName; |
|
|
|
|
size_t tagSize; |
|
|
|
|
const void* pTag; |
|
|
|
|
} VkDebugMarkerObjectTagInfoEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkDebugMarkerMarkerInfoEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
const char* pMarkerName; |
|
|
|
|
float color[4]; |
|
|
|
|
} VkDebugMarkerMarkerInfoEXT; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, VkDebugMarkerObjectTagInfoEXT* pTagInfo); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, VkDebugMarkerObjectNameInfoEXT* pNameInfo); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkDebugMarkerObjectTagInfoEXT* pTagInfo); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkDebugMarkerObjectNameInfoEXT* pNameInfo); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( |
|
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
|
VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( |
|
|
|
|
VkCommandBuffer commandBuffer); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( |
|
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
|
VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_AMD_gcn_shader 1 |
|
|
|
|
#define VK_AMD_GCN_SHADER_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_NV_dedicated_allocation 1 |
|
|
|
|
#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 |
|
|
|
|
#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" |
|
|
|
|
|
|
|
|
|
typedef struct VkDedicatedAllocationImageCreateInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkBool32 dedicatedAllocation; |
|
|
|
|
} VkDedicatedAllocationImageCreateInfoNV; |
|
|
|
|
|
|
|
|
|
typedef struct VkDedicatedAllocationBufferCreateInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkBool32 dedicatedAllocation; |
|
|
|
|
} VkDedicatedAllocationBufferCreateInfoNV; |
|
|
|
|
|
|
|
|
|
typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkImage image; |
|
|
|
|
VkBuffer buffer; |
|
|
|
|
} VkDedicatedAllocationMemoryAllocateInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_draw_indirect_count 1 |
|
|
|
|
#define VK_AMD_EXTENSION_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_EXTENSION_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" |
|
|
|
|
|
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( |
|
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
|
VkBuffer buffer, |
|
|
|
|
VkDeviceSize offset, |
|
|
|
|
VkBuffer countBuffer, |
|
|
|
|
VkDeviceSize countBufferOffset, |
|
|
|
|
uint32_t maxDrawCount, |
|
|
|
|
uint32_t stride); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( |
|
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
|
VkBuffer buffer, |
|
|
|
|
VkDeviceSize offset, |
|
|
|
|
VkBuffer countBuffer, |
|
|
|
|
VkDeviceSize countBufferOffset, |
|
|
|
|
uint32_t maxDrawCount, |
|
|
|
|
uint32_t stride); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_IMG_format_pvrtc 1 |
|
|
|
|
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 |
|
|
|
|
#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_NV_external_memory_capabilities 1 |
|
|
|
|
#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 |
|
|
|
|
#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkExternalMemoryHandleTypeFlagBitsNV { |
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, |
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, |
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, |
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, |
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF |
|
|
|
|
} VkExternalMemoryHandleTypeFlagBitsNV; |
|
|
|
|
typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; |
|
|
|
|
|
|
|
|
|
typedef enum VkExternalMemoryFeatureFlagBitsNV { |
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, |
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, |
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, |
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF |
|
|
|
|
} VkExternalMemoryFeatureFlagBitsNV; |
|
|
|
|
typedef VkFlags VkExternalMemoryFeatureFlagsNV; |
|
|
|
|
|
|
|
|
|
typedef struct VkExternalImageFormatPropertiesNV { |
|
|
|
|
VkImageFormatProperties imageFormatProperties; |
|
|
|
|
VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; |
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; |
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; |
|
|
|
|
} VkExternalImageFormatPropertiesNV; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkFormat format, |
|
|
|
|
VkImageType type, |
|
|
|
|
VkImageTiling tiling, |
|
|
|
|
VkImageUsageFlags usage, |
|
|
|
|
VkImageCreateFlags flags, |
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV externalHandleType, |
|
|
|
|
VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_NV_external_memory 1 |
|
|
|
|
#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 |
|
|
|
|
#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" |
|
|
|
|
|
|
|
|
|
typedef struct VkExternalMemoryImageCreateInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleTypes; |
|
|
|
|
} VkExternalMemoryImageCreateInfoNV; |
|
|
|
|
|
|
|
|
|
typedef struct VkExportMemoryAllocateInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleTypes; |
|
|
|
|
} VkExportMemoryAllocateInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef VK_USE_PLATFORM_WIN32_KHR |
|
|
|
|
#define VK_NV_external_memory_win32 1 |
|
|
|
|
#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 |
|
|
|
|
#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" |
|
|
|
|
|
|
|
|
|
typedef struct VkImportMemoryWin32HandleInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleType; |
|
|
|
|
HANDLE handle; |
|
|
|
|
} VkImportMemoryWin32HandleInfoNV; |
|
|
|
|
|
|
|
|
|
typedef struct VkExportMemoryWin32HandleInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
const SECURITY_ATTRIBUTES* pAttributes; |
|
|
|
|
DWORD dwAccess; |
|
|
|
|
} VkExportMemoryWin32HandleInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkDeviceMemory memory, |
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleType, |
|
|
|
|
HANDLE* pHandle); |
|
|
|
|
#endif |
|
|
|
|
#endif /* VK_USE_PLATFORM_WIN32_KHR */ |
|
|
|
|
|
|
|
|
|
#ifdef VK_USE_PLATFORM_WIN32_KHR |
|
|
|
|
#define VK_NV_win32_keyed_mutex 1 |
|
|
|
|
#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1 |
|
|
|
|
#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" |
|
|
|
|
|
|
|
|
|
typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
uint32_t acquireCount; |
|
|
|
|
const VkDeviceMemory* pAcquireSyncs; |
|
|
|
|
const uint64_t* pAcquireKeys; |
|
|
|
|
const uint32_t* pAcquireTimeoutMilliseconds; |
|
|
|
|
uint32_t releaseCount; |
|
|
|
|
const VkDeviceMemory* pReleaseSyncs; |
|
|
|
|
const uint64_t* pReleaseKeys; |
|
|
|
|
} VkWin32KeyedMutexAcquireReleaseInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* VK_USE_PLATFORM_WIN32_KHR */ |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|