|
|
|
@ -6,7 +6,7 @@ extern "C" { |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** Copyright (c) 2015-2016 The Khronos Group Inc. |
|
|
|
|
** Copyright (c) 2015-2017 The Khronos Group Inc. |
|
|
|
|
** |
|
|
|
|
** Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
|
** you may not use this file except in compliance with the License. |
|
|
|
@ -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 26 |
|
|
|
|
#define VK_HEADER_VERSION 39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_NULL_HANDLE 0 |
|
|
|
@ -145,6 +145,7 @@ typedef enum VkResult { |
|
|
|
|
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, |
|
|
|
|
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, |
|
|
|
|
VK_ERROR_INVALID_SHADER_NV = -1000012000, |
|
|
|
|
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = -1000069000, |
|
|
|
|
VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL, |
|
|
|
|
VK_RESULT_END_RANGE = VK_INCOMPLETE, |
|
|
|
|
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1), |
|
|
|
@ -225,6 +226,28 @@ typedef enum VkStructureType { |
|
|
|
|
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_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000, |
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001, |
|
|
|
|
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002, |
|
|
|
|
VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003, |
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004, |
|
|
|
|
VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005, |
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006, |
|
|
|
|
VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007, |
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008, |
|
|
|
|
VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, |
|
|
|
|
VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, |
|
|
|
|
VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000, |
|
|
|
|
VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001, |
|
|
|
|
VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002, |
|
|
|
|
VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003, |
|
|
|
|
VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004, |
|
|
|
|
VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005, |
|
|
|
|
VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = 1000090000, |
|
|
|
|
VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, |
|
|
|
|
VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, |
|
|
|
|
VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, |
|
|
|
|
VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, |
|
|
|
|
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), |
|
|
|
@ -833,6 +856,8 @@ typedef enum VkFormatFeatureFlagBits { |
|
|
|
|
VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, |
|
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, |
|
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, |
|
|
|
|
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 0x00004000, |
|
|
|
|
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 0x00008000, |
|
|
|
|
VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
|
} VkFormatFeatureFlagBits; |
|
|
|
|
typedef VkFlags VkFormatFeatureFlags; |
|
|
|
@ -856,6 +881,7 @@ typedef enum VkImageCreateFlagBits { |
|
|
|
|
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, |
|
|
|
|
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, |
|
|
|
|
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, |
|
|
|
|
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020, |
|
|
|
|
VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
|
} VkImageCreateFlagBits; |
|
|
|
|
typedef VkFlags VkImageCreateFlags; |
|
|
|
@ -917,6 +943,7 @@ typedef enum VkPipelineStageFlagBits { |
|
|
|
|
VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, |
|
|
|
|
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, |
|
|
|
|
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, |
|
|
|
|
VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000, |
|
|
|
|
VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
|
} VkPipelineStageFlagBits; |
|
|
|
|
typedef VkFlags VkPipelineStageFlags; |
|
|
|
@ -1091,6 +1118,8 @@ typedef enum VkAccessFlagBits { |
|
|
|
|
VK_ACCESS_HOST_WRITE_BIT = 0x00004000, |
|
|
|
|
VK_ACCESS_MEMORY_READ_BIT = 0x00008000, |
|
|
|
|
VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, |
|
|
|
|
VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000, |
|
|
|
|
VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000, |
|
|
|
|
VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
|
} VkAccessFlagBits; |
|
|
|
|
typedef VkFlags VkAccessFlags; |
|
|
|
@ -3196,6 +3225,18 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) |
|
|
|
|
|
|
|
|
|
typedef enum VkColorSpaceKHR { |
|
|
|
|
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, |
|
|
|
|
VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104001, |
|
|
|
|
VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104002, |
|
|
|
|
VK_COLOR_SPACE_SCRGB_LINEAR_EXT = 1000104003, |
|
|
|
|
VK_COLOR_SPACE_SCRGB_NONLINEAR_EXT = 1000104004, |
|
|
|
|
VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104005, |
|
|
|
|
VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104006, |
|
|
|
|
VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104007, |
|
|
|
|
VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104008, |
|
|
|
|
VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104009, |
|
|
|
|
VK_COLOR_SPACE_BT2020_NONLINEAR_EXT = 1000104010, |
|
|
|
|
VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, |
|
|
|
|
VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, |
|
|
|
|
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), |
|
|
|
@ -3731,10 +3772,140 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( |
|
|
|
|
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_KHR_get_physical_device_properties2 1 |
|
|
|
|
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1 |
|
|
|
|
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" |
|
|
|
|
|
|
|
|
|
typedef struct VkPhysicalDeviceFeatures2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
VkPhysicalDeviceFeatures features; |
|
|
|
|
} VkPhysicalDeviceFeatures2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkPhysicalDeviceProperties2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
VkPhysicalDeviceProperties properties; |
|
|
|
|
} VkPhysicalDeviceProperties2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkFormatProperties2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
VkFormatProperties formatProperties; |
|
|
|
|
} VkFormatProperties2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkImageFormatProperties2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
VkImageFormatProperties imageFormatProperties; |
|
|
|
|
} VkImageFormatProperties2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkPhysicalDeviceImageFormatInfo2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkFormat format; |
|
|
|
|
VkImageType type; |
|
|
|
|
VkImageTiling tiling; |
|
|
|
|
VkImageUsageFlags usage; |
|
|
|
|
VkImageCreateFlags flags; |
|
|
|
|
} VkPhysicalDeviceImageFormatInfo2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkQueueFamilyProperties2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
VkQueueFamilyProperties queueFamilyProperties; |
|
|
|
|
} VkQueueFamilyProperties2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkPhysicalDeviceMemoryProperties2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
VkPhysicalDeviceMemoryProperties memoryProperties; |
|
|
|
|
} VkPhysicalDeviceMemoryProperties2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkSparseImageFormatProperties2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
VkSparseImageFormatProperties properties; |
|
|
|
|
} VkSparseImageFormatProperties2KHR; |
|
|
|
|
|
|
|
|
|
typedef struct VkPhysicalDeviceSparseImageFormatInfo2KHR { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkFormat format; |
|
|
|
|
VkImageType type; |
|
|
|
|
VkSampleCountFlagBits samples; |
|
|
|
|
VkImageUsageFlags usage; |
|
|
|
|
VkImageTiling tiling; |
|
|
|
|
} VkPhysicalDeviceSparseImageFormatInfo2KHR; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkPhysicalDeviceFeatures2KHR* pFeatures); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkPhysicalDeviceProperties2KHR* pProperties); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkFormat format, |
|
|
|
|
VkFormatProperties2KHR* pFormatProperties); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, |
|
|
|
|
VkImageFormatProperties2KHR* pImageFormatProperties); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
uint32_t* pQueueFamilyPropertyCount, |
|
|
|
|
VkQueueFamilyProperties2KHR* pQueueFamilyProperties); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, |
|
|
|
|
uint32_t* pPropertyCount, |
|
|
|
|
VkSparseImageFormatProperties2KHR* pProperties); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_KHR_shader_draw_parameters 1 |
|
|
|
|
#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 |
|
|
|
|
#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_KHR_maintenance1 1 |
|
|
|
|
#define VK_KHR_MAINTENANCE1_SPEC_VERSION 1 |
|
|
|
|
#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1" |
|
|
|
|
|
|
|
|
|
typedef VkFlags VkCommandPoolTrimFlagsKHR; |
|
|
|
|
|
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkCommandPool commandPool, |
|
|
|
|
VkCommandPoolTrimFlagsKHR flags); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_EXT_debug_report 1 |
|
|
|
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) |
|
|
|
|
|
|
|
|
|
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 3 |
|
|
|
|
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 4 |
|
|
|
|
#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 |
|
|
|
|
|
|
|
|
@ -3769,9 +3940,13 @@ typedef enum VkDebugReportObjectTypeEXT { |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 28, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1), |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT, |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1), |
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
|
} VkDebugReportObjectTypeEXT; |
|
|
|
|
|
|
|
|
@ -3972,8 +4147,8 @@ typedef struct 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" |
|
|
|
|
#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_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); |
|
|
|
@ -3998,6 +4173,21 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( |
|
|
|
|
uint32_t stride); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_AMD_negative_viewport_height 1 |
|
|
|
|
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_gpu_shader_half_float 1 |
|
|
|
|
#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_shader_ballot 1 |
|
|
|
|
#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 |
|
|
|
|
#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#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" |
|
|
|
@ -4116,6 +4306,456 @@ typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV { |
|
|
|
|
|
|
|
|
|
#endif /* VK_USE_PLATFORM_WIN32_KHR */ |
|
|
|
|
|
|
|
|
|
#define VK_EXT_validation_flags 1 |
|
|
|
|
#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1 |
|
|
|
|
#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkValidationCheckEXT { |
|
|
|
|
VK_VALIDATION_CHECK_ALL_EXT = 0, |
|
|
|
|
VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, |
|
|
|
|
VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, |
|
|
|
|
VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_ALL_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1), |
|
|
|
|
VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
|
} VkValidationCheckEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkValidationFlagsEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
uint32_t disabledValidationCheckCount; |
|
|
|
|
VkValidationCheckEXT* pDisabledValidationChecks; |
|
|
|
|
} VkValidationFlagsEXT; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef VK_USE_PLATFORM_VI_NN |
|
|
|
|
#define VK_NN_vi_surface 1 |
|
|
|
|
#define VK_NN_VI_SURFACE_SPEC_VERSION 1 |
|
|
|
|
#define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface" |
|
|
|
|
|
|
|
|
|
typedef VkFlags VkViSurfaceCreateFlagsNN; |
|
|
|
|
|
|
|
|
|
typedef struct VkViSurfaceCreateInfoNN { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkViSurfaceCreateFlagsNN flags; |
|
|
|
|
void* window; |
|
|
|
|
} VkViSurfaceCreateInfoNN; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN( |
|
|
|
|
VkInstance instance, |
|
|
|
|
const VkViSurfaceCreateInfoNN* pCreateInfo, |
|
|
|
|
const VkAllocationCallbacks* pAllocator, |
|
|
|
|
VkSurfaceKHR* pSurface); |
|
|
|
|
#endif |
|
|
|
|
#endif /* VK_USE_PLATFORM_VI_NN */ |
|
|
|
|
|
|
|
|
|
#define VK_EXT_shader_subgroup_ballot 1 |
|
|
|
|
#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 |
|
|
|
|
#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_EXT_shader_subgroup_vote 1 |
|
|
|
|
#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 |
|
|
|
|
#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_NVX_device_generated_commands 1 |
|
|
|
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX) |
|
|
|
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX) |
|
|
|
|
|
|
|
|
|
#define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1 |
|
|
|
|
#define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkIndirectCommandsTokenTypeNVX { |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX = 0, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX = 1, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX = 2, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX = 3, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX = 4, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX = 5, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX = 6, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX = 7, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX, |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX + 1), |
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF |
|
|
|
|
} VkIndirectCommandsTokenTypeNVX; |
|
|
|
|
|
|
|
|
|
typedef enum VkObjectEntryTypeNVX { |
|
|
|
|
VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX = 0, |
|
|
|
|
VK_OBJECT_ENTRY_PIPELINE_NVX = 1, |
|
|
|
|
VK_OBJECT_ENTRY_INDEX_BUFFER_NVX = 2, |
|
|
|
|
VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX = 3, |
|
|
|
|
VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX = 4, |
|
|
|
|
VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX, |
|
|
|
|
VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX, |
|
|
|
|
VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX + 1), |
|
|
|
|
VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF |
|
|
|
|
} VkObjectEntryTypeNVX; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX { |
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001, |
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002, |
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004, |
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008, |
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF |
|
|
|
|
} VkIndirectCommandsLayoutUsageFlagBitsNVX; |
|
|
|
|
typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX; |
|
|
|
|
|
|
|
|
|
typedef enum VkObjectEntryUsageFlagBitsNVX { |
|
|
|
|
VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001, |
|
|
|
|
VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002, |
|
|
|
|
VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF |
|
|
|
|
} VkObjectEntryUsageFlagBitsNVX; |
|
|
|
|
typedef VkFlags VkObjectEntryUsageFlagsNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkDeviceGeneratedCommandsFeaturesNVX { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkBool32 computeBindingPointSupport; |
|
|
|
|
} VkDeviceGeneratedCommandsFeaturesNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkDeviceGeneratedCommandsLimitsNVX { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
uint32_t maxIndirectCommandsLayoutTokenCount; |
|
|
|
|
uint32_t maxObjectEntryCounts; |
|
|
|
|
uint32_t minSequenceCountBufferOffsetAlignment; |
|
|
|
|
uint32_t minSequenceIndexBufferOffsetAlignment; |
|
|
|
|
uint32_t minCommandsTokenBufferOffsetAlignment; |
|
|
|
|
} VkDeviceGeneratedCommandsLimitsNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkIndirectCommandsTokenNVX { |
|
|
|
|
VkIndirectCommandsTokenTypeNVX tokenType; |
|
|
|
|
VkBuffer buffer; |
|
|
|
|
VkDeviceSize offset; |
|
|
|
|
} VkIndirectCommandsTokenNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkIndirectCommandsLayoutTokenNVX { |
|
|
|
|
VkIndirectCommandsTokenTypeNVX tokenType; |
|
|
|
|
uint32_t bindingUnit; |
|
|
|
|
uint32_t dynamicCount; |
|
|
|
|
uint32_t divisor; |
|
|
|
|
} VkIndirectCommandsLayoutTokenNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkIndirectCommandsLayoutCreateInfoNVX { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkPipelineBindPoint pipelineBindPoint; |
|
|
|
|
VkIndirectCommandsLayoutUsageFlagsNVX flags; |
|
|
|
|
uint32_t tokenCount; |
|
|
|
|
const VkIndirectCommandsLayoutTokenNVX* pTokens; |
|
|
|
|
} VkIndirectCommandsLayoutCreateInfoNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkCmdProcessCommandsInfoNVX { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkObjectTableNVX objectTable; |
|
|
|
|
VkIndirectCommandsLayoutNVX indirectCommandsLayout; |
|
|
|
|
uint32_t indirectCommandsTokenCount; |
|
|
|
|
const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens; |
|
|
|
|
uint32_t maxSequencesCount; |
|
|
|
|
VkCommandBuffer targetCommandBuffer; |
|
|
|
|
VkBuffer sequencesCountBuffer; |
|
|
|
|
VkDeviceSize sequencesCountOffset; |
|
|
|
|
VkBuffer sequencesIndexBuffer; |
|
|
|
|
VkDeviceSize sequencesIndexOffset; |
|
|
|
|
} VkCmdProcessCommandsInfoNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkCmdReserveSpaceForCommandsInfoNVX { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkObjectTableNVX objectTable; |
|
|
|
|
VkIndirectCommandsLayoutNVX indirectCommandsLayout; |
|
|
|
|
uint32_t maxSequencesCount; |
|
|
|
|
} VkCmdReserveSpaceForCommandsInfoNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkObjectTableCreateInfoNVX { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
uint32_t objectCount; |
|
|
|
|
const VkObjectEntryTypeNVX* pObjectEntryTypes; |
|
|
|
|
const uint32_t* pObjectEntryCounts; |
|
|
|
|
const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags; |
|
|
|
|
uint32_t maxUniformBuffersPerDescriptor; |
|
|
|
|
uint32_t maxStorageBuffersPerDescriptor; |
|
|
|
|
uint32_t maxStorageImagesPerDescriptor; |
|
|
|
|
uint32_t maxSampledImagesPerDescriptor; |
|
|
|
|
uint32_t maxPipelineLayouts; |
|
|
|
|
} VkObjectTableCreateInfoNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkObjectTableEntryNVX { |
|
|
|
|
VkObjectEntryTypeNVX type; |
|
|
|
|
VkObjectEntryUsageFlagsNVX flags; |
|
|
|
|
} VkObjectTableEntryNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkObjectTablePipelineEntryNVX { |
|
|
|
|
VkObjectEntryTypeNVX type; |
|
|
|
|
VkObjectEntryUsageFlagsNVX flags; |
|
|
|
|
VkPipeline pipeline; |
|
|
|
|
} VkObjectTablePipelineEntryNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkObjectTableDescriptorSetEntryNVX { |
|
|
|
|
VkObjectEntryTypeNVX type; |
|
|
|
|
VkObjectEntryUsageFlagsNVX flags; |
|
|
|
|
VkPipelineLayout pipelineLayout; |
|
|
|
|
VkDescriptorSet descriptorSet; |
|
|
|
|
} VkObjectTableDescriptorSetEntryNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkObjectTableVertexBufferEntryNVX { |
|
|
|
|
VkObjectEntryTypeNVX type; |
|
|
|
|
VkObjectEntryUsageFlagsNVX flags; |
|
|
|
|
VkBuffer buffer; |
|
|
|
|
} VkObjectTableVertexBufferEntryNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkObjectTableIndexBufferEntryNVX { |
|
|
|
|
VkObjectEntryTypeNVX type; |
|
|
|
|
VkObjectEntryUsageFlagsNVX flags; |
|
|
|
|
VkBuffer buffer; |
|
|
|
|
VkIndexType indexType; |
|
|
|
|
} VkObjectTableIndexBufferEntryNVX; |
|
|
|
|
|
|
|
|
|
typedef struct VkObjectTablePushConstantEntryNVX { |
|
|
|
|
VkObjectEntryTypeNVX type; |
|
|
|
|
VkObjectEntryUsageFlagsNVX flags; |
|
|
|
|
VkPipelineLayout pipelineLayout; |
|
|
|
|
VkShaderStageFlags stageFlags; |
|
|
|
|
} VkObjectTablePushConstantEntryNVX; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices); |
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX( |
|
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
|
const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX( |
|
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
|
const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX( |
|
|
|
|
VkDevice device, |
|
|
|
|
const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, |
|
|
|
|
const VkAllocationCallbacks* pAllocator, |
|
|
|
|
VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkIndirectCommandsLayoutNVX indirectCommandsLayout, |
|
|
|
|
const VkAllocationCallbacks* pAllocator); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX( |
|
|
|
|
VkDevice device, |
|
|
|
|
const VkObjectTableCreateInfoNVX* pCreateInfo, |
|
|
|
|
const VkAllocationCallbacks* pAllocator, |
|
|
|
|
VkObjectTableNVX* pObjectTable); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkObjectTableNVX objectTable, |
|
|
|
|
const VkAllocationCallbacks* pAllocator); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkObjectTableNVX objectTable, |
|
|
|
|
uint32_t objectCount, |
|
|
|
|
const VkObjectTableEntryNVX* const* ppObjectTableEntries, |
|
|
|
|
const uint32_t* pObjectIndices); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkObjectTableNVX objectTable, |
|
|
|
|
uint32_t objectCount, |
|
|
|
|
const VkObjectEntryTypeNVX* pObjectEntryTypes, |
|
|
|
|
const uint32_t* pObjectIndices); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, |
|
|
|
|
VkDeviceGeneratedCommandsLimitsNVX* pLimits); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_EXT_direct_mode_display 1 |
|
|
|
|
#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 |
|
|
|
|
#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" |
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkDisplayKHR display); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT |
|
|
|
|
#define VK_EXT_acquire_xlib_display 1 |
|
|
|
|
#include <X11/extensions/Xrandr.h> |
|
|
|
|
|
|
|
|
|
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1 |
|
|
|
|
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display" |
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
Display* dpy, |
|
|
|
|
VkDisplayKHR display); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
Display* dpy, |
|
|
|
|
RROutput rrOutput, |
|
|
|
|
VkDisplayKHR* pDisplay); |
|
|
|
|
#endif |
|
|
|
|
#endif /* VK_USE_PLATFORM_XLIB_XRANDR_EXT */ |
|
|
|
|
|
|
|
|
|
#define VK_EXT_display_surface_counter 1 |
|
|
|
|
#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 |
|
|
|
|
#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkSurfaceCounterFlagBitsEXT { |
|
|
|
|
VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001, |
|
|
|
|
VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
|
} VkSurfaceCounterFlagBitsEXT; |
|
|
|
|
typedef VkFlags VkSurfaceCounterFlagsEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkSurfaceCapabilities2EXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
void* pNext; |
|
|
|
|
uint32_t minImageCount; |
|
|
|
|
uint32_t maxImageCount; |
|
|
|
|
VkExtent2D currentExtent; |
|
|
|
|
VkExtent2D minImageExtent; |
|
|
|
|
VkExtent2D maxImageExtent; |
|
|
|
|
uint32_t maxImageArrayLayers; |
|
|
|
|
VkSurfaceTransformFlagsKHR supportedTransforms; |
|
|
|
|
VkSurfaceTransformFlagBitsKHR currentTransform; |
|
|
|
|
VkCompositeAlphaFlagsKHR supportedCompositeAlpha; |
|
|
|
|
VkImageUsageFlags supportedUsageFlags; |
|
|
|
|
VkSurfaceCounterFlagsEXT supportedSurfaceCounters; |
|
|
|
|
} VkSurfaceCapabilities2EXT; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( |
|
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
|
VkSurfaceKHR surface, |
|
|
|
|
VkSurfaceCapabilities2EXT* pSurfaceCapabilities); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_EXT_display_control 1 |
|
|
|
|
#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 |
|
|
|
|
#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkDisplayPowerStateEXT { |
|
|
|
|
VK_DISPLAY_POWER_STATE_OFF_EXT = 0, |
|
|
|
|
VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, |
|
|
|
|
VK_DISPLAY_POWER_STATE_ON_EXT = 2, |
|
|
|
|
VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT, |
|
|
|
|
VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT, |
|
|
|
|
VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1), |
|
|
|
|
VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
|
} VkDisplayPowerStateEXT; |
|
|
|
|
|
|
|
|
|
typedef enum VkDeviceEventTypeEXT { |
|
|
|
|
VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, |
|
|
|
|
VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT, |
|
|
|
|
VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT, |
|
|
|
|
VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1), |
|
|
|
|
VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
|
} VkDeviceEventTypeEXT; |
|
|
|
|
|
|
|
|
|
typedef enum VkDisplayEventTypeEXT { |
|
|
|
|
VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, |
|
|
|
|
VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT, |
|
|
|
|
VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT, |
|
|
|
|
VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1), |
|
|
|
|
VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
|
} VkDisplayEventTypeEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkDisplayPowerInfoEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkDisplayPowerStateEXT powerState; |
|
|
|
|
} VkDisplayPowerInfoEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkDeviceEventInfoEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkDeviceEventTypeEXT deviceEvent; |
|
|
|
|
} VkDeviceEventInfoEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkDisplayEventInfoEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkDisplayEventTypeEXT displayEvent; |
|
|
|
|
} VkDisplayEventInfoEXT; |
|
|
|
|
|
|
|
|
|
typedef struct VkSwapchainCounterCreateInfoEXT { |
|
|
|
|
VkStructureType sType; |
|
|
|
|
const void* pNext; |
|
|
|
|
VkSurfaceCounterFlagsEXT surfaceCounters; |
|
|
|
|
} VkSwapchainCounterCreateInfoEXT; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); |
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); |
|
|
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkDisplayKHR display, |
|
|
|
|
const VkDisplayPowerInfoEXT* pDisplayPowerInfo); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( |
|
|
|
|
VkDevice device, |
|
|
|
|
const VkDeviceEventInfoEXT* pDeviceEventInfo, |
|
|
|
|
const VkAllocationCallbacks* pAllocator, |
|
|
|
|
VkFence* pFence); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkDisplayKHR display, |
|
|
|
|
const VkDisplayEventInfoEXT* pDisplayEventInfo, |
|
|
|
|
const VkAllocationCallbacks* pAllocator, |
|
|
|
|
VkFence* pFence); |
|
|
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( |
|
|
|
|
VkDevice device, |
|
|
|
|
VkSwapchainKHR swapchain, |
|
|
|
|
VkSurfaceCounterFlagBitsEXT counter, |
|
|
|
|
uint64_t* pCounterValue); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define VK_EXT_swapchain_colorspace 1 |
|
|
|
|
#define VK_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 1 |
|
|
|
|
#define VK_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|