mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-28 12:51:03 +00:00
Update to latest vulkan and SPIR-V spec files
* Add support for VK_KHR_shader_clock
This commit is contained in:
@@ -7082,7 +7082,7 @@
|
||||
{
|
||||
"enumerant" : "PhysicalStorageBuffer64",
|
||||
"value" : 5348,
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
|
||||
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
|
||||
"version" : "1.5"
|
||||
},
|
||||
@@ -7623,7 +7623,7 @@
|
||||
{
|
||||
"enumerant" : "PhysicalStorageBuffer",
|
||||
"value" : 5349,
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
|
||||
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
|
||||
"version" : "1.5"
|
||||
},
|
||||
@@ -8629,7 +8629,7 @@
|
||||
"enumerant" : "RestrictPointer",
|
||||
"value" : 5355,
|
||||
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
|
||||
"version" : "1.5"
|
||||
},
|
||||
{
|
||||
@@ -8643,7 +8643,7 @@
|
||||
"enumerant" : "AliasedPointer",
|
||||
"value" : 5356,
|
||||
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
|
||||
"version" : "1.5"
|
||||
},
|
||||
{
|
||||
@@ -10256,6 +10256,7 @@
|
||||
"enumerant" : "PhysicalStorageBufferAddresses",
|
||||
"value" : 5347,
|
||||
"capabilities" : [ "Shader" ],
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
|
||||
"version" : "1.5"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -44,7 +44,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 123
|
||||
#define VK_HEADER_VERSION 124
|
||||
|
||||
|
||||
#define VK_NULL_HANDLE 0
|
||||
@@ -449,6 +449,7 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
|
||||
VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
|
||||
@@ -471,6 +472,12 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
|
||||
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
|
||||
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = 1000207000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = 1000207001,
|
||||
VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = 1000207002,
|
||||
VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = 1000207003,
|
||||
VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = 1000207004,
|
||||
VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
|
||||
VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000,
|
||||
VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
|
||||
@@ -6238,6 +6245,18 @@ typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR {
|
||||
|
||||
|
||||
|
||||
#define VK_KHR_shader_clock 1
|
||||
#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
|
||||
#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
|
||||
typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 shaderSubgroupClock;
|
||||
VkBool32 shaderDeviceClock;
|
||||
} VkPhysicalDeviceShaderClockFeaturesKHR;
|
||||
|
||||
|
||||
|
||||
#define VK_KHR_driver_properties 1
|
||||
#define VK_MAX_DRIVER_NAME_SIZE_KHR 256
|
||||
#define VK_MAX_DRIVER_INFO_SIZE_KHR 256
|
||||
@@ -6354,6 +6373,89 @@ typedef struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR {
|
||||
#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
|
||||
|
||||
|
||||
#define VK_KHR_timeline_semaphore 1
|
||||
#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
|
||||
#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
|
||||
|
||||
typedef enum VkSemaphoreTypeKHR {
|
||||
VK_SEMAPHORE_TYPE_BINARY_KHR = 0,
|
||||
VK_SEMAPHORE_TYPE_TIMELINE_KHR = 1,
|
||||
VK_SEMAPHORE_TYPE_BEGIN_RANGE_KHR = VK_SEMAPHORE_TYPE_BINARY_KHR,
|
||||
VK_SEMAPHORE_TYPE_END_RANGE_KHR = VK_SEMAPHORE_TYPE_TIMELINE_KHR,
|
||||
VK_SEMAPHORE_TYPE_RANGE_SIZE_KHR = (VK_SEMAPHORE_TYPE_TIMELINE_KHR - VK_SEMAPHORE_TYPE_BINARY_KHR + 1),
|
||||
VK_SEMAPHORE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
|
||||
} VkSemaphoreTypeKHR;
|
||||
|
||||
typedef enum VkSemaphoreWaitFlagBitsKHR {
|
||||
VK_SEMAPHORE_WAIT_ANY_BIT_KHR = 0x00000001,
|
||||
VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
||||
} VkSemaphoreWaitFlagBitsKHR;
|
||||
typedef VkFlags VkSemaphoreWaitFlagsKHR;
|
||||
typedef struct VkPhysicalDeviceTimelineSemaphoreFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 timelineSemaphore;
|
||||
} VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
|
||||
|
||||
typedef struct VkPhysicalDeviceTimelineSemaphorePropertiesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint64_t maxTimelineSemaphoreValueDifference;
|
||||
} VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
|
||||
|
||||
typedef struct VkSemaphoreTypeCreateInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkSemaphoreTypeKHR semaphoreType;
|
||||
uint64_t initialValue;
|
||||
} VkSemaphoreTypeCreateInfoKHR;
|
||||
|
||||
typedef struct VkTimelineSemaphoreSubmitInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint32_t waitSemaphoreValueCount;
|
||||
const uint64_t* pWaitSemaphoreValues;
|
||||
uint32_t signalSemaphoreValueCount;
|
||||
const uint64_t* pSignalSemaphoreValues;
|
||||
} VkTimelineSemaphoreSubmitInfoKHR;
|
||||
|
||||
typedef struct VkSemaphoreWaitInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkSemaphoreWaitFlagsKHR flags;
|
||||
uint32_t semaphoreCount;
|
||||
const VkSemaphore* pSemaphores;
|
||||
const uint64_t* pValues;
|
||||
} VkSemaphoreWaitInfoKHR;
|
||||
|
||||
typedef struct VkSemaphoreSignalInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkSemaphore semaphore;
|
||||
uint64_t value;
|
||||
} VkSemaphoreSignalInfoKHR;
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfoKHR* pWaitInfo, uint64_t timeout);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfoKHR* pSignalInfo);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
|
||||
VkDevice device,
|
||||
VkSemaphore semaphore,
|
||||
uint64_t* pValue);
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
|
||||
VkDevice device,
|
||||
const VkSemaphoreWaitInfoKHR* pWaitInfo,
|
||||
uint64_t timeout);
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
|
||||
VkDevice device,
|
||||
const VkSemaphoreSignalInfoKHR* pSignalInfo);
|
||||
#endif
|
||||
|
||||
|
||||
#define VK_KHR_vulkan_memory_model 1
|
||||
#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
|
||||
#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
|
||||
|
||||
@@ -154,7 +154,7 @@ server.
|
||||
<type category="define">// Vulkan 1.1 version number
|
||||
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
||||
<type category="define">// Version of this file
|
||||
#define <name>VK_HEADER_VERSION</name> 123</type>
|
||||
#define <name>VK_HEADER_VERSION</name> 124</type>
|
||||
|
||||
<type category="define">
|
||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||
@@ -271,6 +271,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<type requires="VkPipelineCreationFeedbackFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineCreationFeedbackFlagsEXT</name>;</type>
|
||||
<type requires="VkPipelineCompilerControlFlagBitsAMD" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineCompilerControlFlagsAMD</name>;</type>
|
||||
<type requires="VkShaderCorePropertiesFlagBitsAMD" category="bitmask">typedef <type>VkFlags</type> <name>VkShaderCorePropertiesFlagsAMD</name>;</type>
|
||||
<type requires="VkSemaphoreWaitFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkSemaphoreWaitFlagsKHR</name>;</type>
|
||||
|
||||
<comment>WSI extensions</comment>
|
||||
<type requires="VkCompositeAlphaFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkCompositeAlphaFlagsKHR</name>;</type>
|
||||
@@ -493,6 +494,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<type name="VkQueueGlobalPriorityEXT" category="enum"/>
|
||||
<type name="VkTimeDomainEXT" category="enum"/>
|
||||
<type name="VkConservativeRasterizationModeEXT" category="enum"/>
|
||||
<type name="VkSemaphoreTypeKHR" category="enum"/>
|
||||
<type name="VkResolveModeFlagBitsKHR" category="enum"/>
|
||||
<type name="VkGeometryFlagBitsNV" category="enum"/>
|
||||
<type name="VkGeometryInstanceFlagBitsNV" category="enum"/>
|
||||
@@ -506,6 +508,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<type name="VkScopeNV" category="enum"/>
|
||||
<type name="VkComponentTypeNV" category="enum"/>
|
||||
<type name="VkPipelineCreationFeedbackFlagBitsEXT" category="enum"/>
|
||||
<type name="VkSemaphoreWaitFlagBitsKHR" category="enum"/>
|
||||
<type name="VkPerformanceConfigurationTypeINTEL" category="enum"/>
|
||||
<type name="VkQueryPoolSamplingModeINTEL" category="enum"/>
|
||||
<type name="VkPerformanceOverrideTypeINTEL" category="enum"/>
|
||||
@@ -3330,6 +3333,44 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<member values="VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceTimelineSemaphoreFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkBool32</type> <name>timelineSemaphore</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceTimelineSemaphorePropertiesKHR" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>uint64_t</type> <name>maxTimelineSemaphoreValueDifference</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkSemaphoreTypeCreateInfoKHR" structextends="VkSemaphoreCreateInfo,VkPhysicalDeviceExternalSemaphoreInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkSemaphoreTypeKHR</type> <name>semaphoreType</name></member>
|
||||
<member><type>uint64_t</type> <name>initialValue</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkTimelineSemaphoreSubmitInfoKHR" structextends="VkSubmitInfo,VkBindSparseInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>waitSemaphoreValueCount</name></member>
|
||||
<member optional="true" len="waitSemaphoreValueCount">const <type>uint64_t</type>* <name>pWaitSemaphoreValues</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>signalSemaphoreValueCount</name></member>
|
||||
<member optional="true" len="signalSemaphoreValueCount">const <type>uint64_t</type>* <name>pSignalSemaphoreValues</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkSemaphoreWaitInfoKHR">
|
||||
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkSemaphoreWaitFlagsKHR</type> <name>flags</name></member>
|
||||
<member><type>uint32_t</type> <name>semaphoreCount</name></member>
|
||||
<member len="semaphoreCount">const <type>VkSemaphore</type>* <name>pSemaphores</name></member>
|
||||
<member len="semaphoreCount">const <type>uint64_t</type>* <name>pValues</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkSemaphoreSignalInfoKHR">
|
||||
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkSemaphore</type> <name>semaphore</name></member>
|
||||
<member><type>uint64_t</type> <name>value</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkVertexInputBindingDivisorDescriptionEXT">
|
||||
<member><type>uint32_t</type> <name>binding</name></member>
|
||||
<member><type>uint32_t</type> <name>divisor</name></member>
|
||||
@@ -4018,6 +4059,12 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkPerformanceConfigurationTypeINTEL</type> <name>type</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceShaderClockFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkBool32</type> <name>shaderSubgroupClock</name></member>
|
||||
<member><type>VkBool32</type> <name>shaderDeviceClock</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceIndexTypeUint8FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member noautovalidity="true"><type>void</type>* <name>pNext</name></member>
|
||||
@@ -4834,6 +4881,8 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<enums name="VkFenceCreateFlagBits" type="bitmask">
|
||||
<enum bitpos="0" name="VK_FENCE_CREATE_SIGNALED_BIT"/>
|
||||
</enums>
|
||||
<enums name="VkSemaphoreCreateFlagBits" type="bitmask">
|
||||
</enums>
|
||||
<enums name="VkFormatFeatureFlagBits" type="bitmask">
|
||||
<enum bitpos="0" name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT" comment="Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)"/>
|
||||
<enum bitpos="1" name="VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT" comment="Format can be used for storage images (STORAGE_IMAGE descriptor type)"/>
|
||||
@@ -4943,6 +4992,13 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<enums name="VkDependencyFlagBits" type="bitmask">
|
||||
<enum bitpos="0" name="VK_DEPENDENCY_BY_REGION_BIT" comment="Dependency is per pixel region "/>
|
||||
</enums>
|
||||
<enums name="VkSemaphoreTypeKHR" type="enum">
|
||||
<enum value="0" name="VK_SEMAPHORE_TYPE_BINARY_KHR"/>
|
||||
<enum value="1" name="VK_SEMAPHORE_TYPE_TIMELINE_KHR"/>
|
||||
</enums>
|
||||
<enums name="VkSemaphoreWaitFlagBitsKHR" type="bitmask">
|
||||
<enum bitpos="0" name="VK_SEMAPHORE_WAIT_ANY_BIT_KHR"/>
|
||||
</enums>
|
||||
|
||||
<comment>WSI Extensions</comment>
|
||||
<enums name="VkPresentModeKHR" type="enum">
|
||||
@@ -7395,6 +7451,23 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||
<param>const <type>VkSubpassEndInfoKHR</type>* <name>pSubpassEndInfo</name></param>
|
||||
</command>
|
||||
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST">
|
||||
<proto><type>VkResult</type> <name>vkGetSemaphoreCounterValueKHR</name></proto>
|
||||
<param><type>VkDevice</type> <name>device</name></param>
|
||||
<param><type>VkSemaphore</type> <name>semaphore</name></param>
|
||||
<param><type>uint64_t</type>* <name>pValue</name></param>
|
||||
</command>
|
||||
<command successcodes="VK_SUCCESS,VK_TIMEOUT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST">
|
||||
<proto><type>VkResult</type> <name>vkWaitSemaphoresKHR</name></proto>
|
||||
<param><type>VkDevice</type> <name>device</name></param>
|
||||
<param>const <type>VkSemaphoreWaitInfoKHR</type>* <name>pWaitInfo</name></param>
|
||||
<param><type>uint64_t</type> <name>timeout</name></param>
|
||||
</command>
|
||||
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
|
||||
<proto><type>VkResult</type> <name>vkSignalSemaphoreKHR</name></proto>
|
||||
<param><type>VkDevice</type> <name>device</name></param>
|
||||
<param>const <type>VkSemaphoreSignalInfoKHR</type>* <name>pSignalInfo</name></param>
|
||||
</command>
|
||||
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR">
|
||||
<proto><type>VkResult</type> <name>vkGetAndroidHardwareBufferPropertiesANDROID</name></proto>
|
||||
<param><type>VkDevice</type> <name>device</name></param>
|
||||
@@ -10591,10 +10664,12 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<type name="VkPhysicalDeviceShaderAtomicInt64FeaturesKHR"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_182" number="182" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled">
|
||||
<extension name="VK_KHR_shader_clock" number="182" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Aaron Hagan @ahagan" supported="vulkan">
|
||||
<require>
|
||||
<enum value="0" name="VK_KHR_EXTENSION_182_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_182"" name="VK_KHR_EXTENSION_182_EXTENSION_NAME"/>
|
||||
<enum value="1" name="VK_KHR_SHADER_CLOCK_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_shader_clock"" name="VK_KHR_SHADER_CLOCK_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR"/>
|
||||
<type name="VkPhysicalDeviceShaderClockFeaturesKHR"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_183" number="183" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled">
|
||||
@@ -10821,10 +10896,28 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<command name="vkGetQueueCheckpointDataNV"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_extension_208" number="208" type="device" author="KHR" contact="Daniel Rakos @drakos-arm" supported="disabled">
|
||||
<extension name="VK_KHR_timeline_semaphore" number="208" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Jason Ekstrand @jekstrand" supported="vulkan">
|
||||
<require>
|
||||
<enum value="0" name="VK_KHR_EXTENSION_208_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_extension_208"" name="VK_KHR_EXTENSION_208_EXTENSION_NAME"/>
|
||||
<enum value="2" name="VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_timeline_semaphore"" name="VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR"/>
|
||||
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR"/>
|
||||
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR"/>
|
||||
<enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR"/>
|
||||
<enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR"/>
|
||||
<type name="VkSemaphoreTypeKHR"/>
|
||||
<type name="VkPhysicalDeviceTimelineSemaphoreFeaturesKHR"/>
|
||||
<type name="VkPhysicalDeviceTimelineSemaphorePropertiesKHR"/>
|
||||
<type name="VkSemaphoreTypeCreateInfoKHR"/>
|
||||
<type name="VkTimelineSemaphoreSubmitInfoKHR"/>
|
||||
<type name="VkSemaphoreWaitFlagBitsKHR"/>
|
||||
<type name="VkSemaphoreWaitFlagsKHR"/>
|
||||
<type name="VkSemaphoreWaitInfoKHR"/>
|
||||
<type name="VkSemaphoreSignalInfoKHR"/>
|
||||
<command name="vkGetSemaphoreCounterValueKHR"/>
|
||||
<command name="vkWaitSemaphoresKHR"/>
|
||||
<command name="vkSignalSemaphoreKHR"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_extension_209" number="209" type="device" author="KHR" contact="Ian Elliott @ianelliott" supported="disabled">
|
||||
@@ -11518,5 +11611,23 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<enum value=""VK_GOOGLE_user_type"" name="VK_GOOGLE_USER_TYPE_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_NV_extension_291" number="291" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_NV_EXTENSION_291_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_extension_291"" name="VK_NV_EXTENSION_291_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_NV_extension_292" number="292" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_NV_EXTENSION_292_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_extension_292"" name="VK_NV_EXTENSION_292_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_NV_extension_293" number="293" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_NV_EXTENSION_293_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_extension_293"" name="VK_NV_EXTENSION_293_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
</extensions>
|
||||
</registry>
|
||||
|
||||
@@ -775,6 +775,7 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFeatures2);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFloatControlsPropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceGroupProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceHostQueryResetFeaturesEXT);
|
||||
@@ -803,6 +804,7 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceScalarBlockLayoutFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderAtomicInt64FeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderClockFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderCorePropertiesAMD);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderDrawParametersFeatures);
|
||||
@@ -1036,6 +1038,7 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceFeatures2);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceFloatControlsPropertiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceGroupProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceHostQueryResetFeaturesEXT);
|
||||
@@ -1064,6 +1067,7 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceScalarBlockLayoutFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderAtomicInt64FeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderClockFeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderCorePropertiesAMD);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderDrawParametersFeatures);
|
||||
@@ -1383,6 +1387,8 @@ DECLARE_REFLECTION_ENUM(VkSamplerReductionModeEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerYcbcrModelConversion);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerYcbcrRange);
|
||||
DECLARE_REFLECTION_ENUM(VkSemaphoreImportFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSemaphoreTypeKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkSemaphoreWaitFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkShaderFloatControlsIndependenceKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkShaderModuleCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkShaderStageFlagBits);
|
||||
|
||||
@@ -978,6 +978,9 @@ static const VkExtensionProperties supportedExtensions[] = {
|
||||
{
|
||||
VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION,
|
||||
},
|
||||
{
|
||||
VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION,
|
||||
},
|
||||
{
|
||||
VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION,
|
||||
},
|
||||
|
||||
@@ -501,6 +501,11 @@ struct VkDevDispatchTable
|
||||
PFN_vkCmdDrawIndirectCountKHR CmdDrawIndirectCountKHR;
|
||||
PFN_vkCmdDrawIndexedIndirectCountKHR CmdDrawIndexedIndirectCountKHR;
|
||||
|
||||
// VK_KHR_timeline_semaphore
|
||||
PFN_vkGetSemaphoreCounterValueKHR GetSemaphoreCounterValueKHR;
|
||||
PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR;
|
||||
PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR;
|
||||
|
||||
// VK_KHR_pipeline_executable_properties
|
||||
PFN_vkGetPipelineExecutablePropertiesKHR GetPipelineExecutablePropertiesKHR;
|
||||
PFN_vkGetPipelineExecutableStatisticsKHR GetPipelineExecutableStatisticsKHR;
|
||||
|
||||
@@ -253,6 +253,8 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, \
|
||||
VkPhysicalDeviceShaderCorePropertiesAMD); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, \
|
||||
VkPhysicalDeviceShaderClockFeaturesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, \
|
||||
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, \
|
||||
@@ -273,6 +275,10 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT, \
|
||||
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR, \
|
||||
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR, \
|
||||
VkPhysicalDeviceTimelineSemaphorePropertiesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, \
|
||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT, \
|
||||
@@ -356,6 +362,7 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, \
|
||||
VkSamplerYcbcrConversionImageFormatProperties); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, VkSemaphoreCreateInfo); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR, VkSemaphoreTypeCreateInfoKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO, VkShaderModuleCreateInfo); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR, \
|
||||
VkSharedPresentSurfaceCapabilitiesKHR); \
|
||||
@@ -375,6 +382,8 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
VkSurfaceProtectedCapabilitiesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD, \
|
||||
VkTextureLODGatherFormatPropertiesAMD); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR, \
|
||||
VkTimelineSemaphoreSubmitInfoKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT, VkValidationCacheCreateInfoEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT, VkValidationFeaturesEXT); \
|
||||
COPY_STRUCT_CAPTURE_ONLY(VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO, \
|
||||
@@ -425,6 +434,8 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
UnwrapInPlace(out->commandPool)); \
|
||||
UNWRAP_STRUCT(VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO, VkCommandBufferInheritanceInfo, \
|
||||
UnwrapInPlace(out->renderPass), UnwrapInPlace(out->framebuffer)); \
|
||||
UNWRAP_STRUCT(VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT, \
|
||||
VkConditionalRenderingBeginInfoEXT, UnwrapInPlace(out->buffer)); \
|
||||
UNWRAP_STRUCT(VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET, VkCopyDescriptorSet, \
|
||||
UnwrapInPlace(out->srcSet), UnwrapInPlace(out->dstSet)); \
|
||||
UNWRAP_STRUCT(VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV, \
|
||||
@@ -453,8 +464,8 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
UnwrapInPlace(out->renderPass), UnwrapInPlace(out->framebuffer)); \
|
||||
UNWRAP_STRUCT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, VkSamplerYcbcrConversionInfo, \
|
||||
UnwrapInPlace(out->conversion)); \
|
||||
UNWRAP_STRUCT(VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT, \
|
||||
VkConditionalRenderingBeginInfoEXT, UnwrapInPlace(out->buffer)); \
|
||||
UNWRAP_STRUCT(VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR, VkSemaphoreSignalInfoKHR, \
|
||||
UnwrapInPlace(out->semaphore)); \
|
||||
UNWRAP_STRUCT_CAPTURE_ONLY(VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR, \
|
||||
VkAcquireNextImageInfoKHR, UnwrapInPlace(out->swapchain), \
|
||||
UnwrapInPlace(out->semaphore), UnwrapInPlace(out->fence)); \
|
||||
@@ -713,6 +724,14 @@ size_t GetNextPatchSize(const void *pNext)
|
||||
memSize += info->attachmentCount * sizeof(VkImageView);
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR:
|
||||
{
|
||||
memSize += sizeof(VkSemaphoreWaitInfoKHR);
|
||||
|
||||
VkSemaphoreWaitInfoKHR *info = (VkSemaphoreWaitInfoKHR *)next;
|
||||
memSize += info->semaphoreCount * sizeof(VkSemaphore);
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_SUBMIT_INFO:
|
||||
{
|
||||
memSize += sizeof(VkSubmitInfo);
|
||||
@@ -1218,6 +1237,26 @@ void UnwrapNextChain(CaptureState state, const char *structName, byte *&tempMem,
|
||||
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR:
|
||||
{
|
||||
const VkSemaphoreWaitInfoKHR *in = (const VkSemaphoreWaitInfoKHR *)nextInput;
|
||||
VkSemaphoreWaitInfoKHR *out = (VkSemaphoreWaitInfoKHR *)tempMem;
|
||||
|
||||
// append immediately so tempMem is incremented
|
||||
AppendModifiedChainedStruct(tempMem, out, nextChainTail);
|
||||
|
||||
// allocate unwrapped array
|
||||
VkSemaphore *outSemaphores = (VkSemaphore *)tempMem;
|
||||
tempMem += sizeof(VkSemaphore) * in->semaphoreCount;
|
||||
|
||||
*out = *in;
|
||||
out->pSemaphores = outSemaphores;
|
||||
|
||||
for(uint32_t i = 0; i < in->semaphoreCount; i++)
|
||||
outSemaphores[i] = Unwrap(in->pSemaphores[i]);
|
||||
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_SUBMIT_INFO:
|
||||
{
|
||||
const VkSubmitInfo *in = (const VkSubmitInfo *)nextInput;
|
||||
|
||||
@@ -154,6 +154,7 @@ DECL_VKFLAG_EXT(VkSwapchainCreate, KHR);
|
||||
DECL_VKFLAG_EMPTY_EXT(VkValidationCacheCreate, EXT);
|
||||
DECL_VKFLAG_EMPTY_EXT(VkPipelineRasterizationDepthClipStateCreate, EXT);
|
||||
DECL_VKFLAG_EXT(VkDescriptorBinding, EXT);
|
||||
DECL_VKFLAG_EXT(VkSemaphoreWait, KHR);
|
||||
|
||||
// serialise a member as flags - cast to the Bits enum for serialisation so the stringification
|
||||
// picks up the bitfield and doesn't treat it as uint32_t. Then we rename the type back to the base
|
||||
@@ -861,6 +862,10 @@ SERIALISE_VK_HANDLES();
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, \
|
||||
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR) \
|
||||
\
|
||||
/* VK_KHR_shader_clock */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, \
|
||||
VkPhysicalDeviceShaderClockFeaturesKHR) \
|
||||
\
|
||||
/* VK_KHR_shader_float16_int8 */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR, \
|
||||
VkPhysicalDeviceShaderFloat16Int8FeaturesKHR) \
|
||||
@@ -906,6 +911,10 @@ SERIALISE_VK_HANDLES();
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV, \
|
||||
VkDedicatedAllocationBufferCreateInfoNV) \
|
||||
\
|
||||
/* VK_NV_fragment_shader_barycentric */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, \
|
||||
VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV) \
|
||||
\
|
||||
/* VK_NV_external_memory */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV, VkExportMemoryAllocateInfoNV) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV, \
|
||||
@@ -982,6 +991,14 @@ SERIALISE_VK_HANDLES();
|
||||
/* VK_EXT_texture_compression_astc_hdr */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT) \
|
||||
\
|
||||
/* VK_KHR_timeline_semaphore */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR) \
|
||||
\
|
||||
/* VK_INTEL_performance_query */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL) \
|
||||
@@ -1022,9 +1039,6 @@ SERIALISE_VK_HANDLES();
|
||||
/* VK_NV_fragment_coverage_to_color */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV) \
|
||||
\
|
||||
/* VK_NV_fragment_shader_barycentric */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV) \
|
||||
\
|
||||
/* VK_NV_framebuffer_mixed_samples */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV) \
|
||||
\
|
||||
@@ -5454,6 +5468,22 @@ void Deserialise(const VkPhysicalDeviceShaderImageFootprintFeaturesNV &el)
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(fragmentShaderBarycentric);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkExternalMemoryImageCreateInfo &el)
|
||||
{
|
||||
@@ -6511,6 +6541,23 @@ void Deserialise(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT &el)
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceShaderClockFeaturesKHR &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(shaderSubgroupClock);
|
||||
SERIALISE_MEMBER(shaderDeviceClock);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkPhysicalDeviceShaderClockFeaturesKHR &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceShaderFloat16Int8FeaturesKHR &el)
|
||||
{
|
||||
@@ -7487,6 +7534,7 @@ INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceFeatures2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceFloatControlsPropertiesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceGroupProperties);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceHostQueryResetFeaturesEXT);
|
||||
@@ -7515,6 +7563,7 @@ INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceScalarBlockLayoutFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceShaderAtomicInt64FeaturesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceShaderClockFeaturesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceShaderCorePropertiesAMD);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceShaderDrawParametersFeatures);
|
||||
|
||||
@@ -1636,6 +1636,7 @@ rdcstr DoStringise(const VkStructureType &el)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD)
|
||||
@@ -1658,6 +1659,12 @@ rdcstr DoStringise(const VkStructureType &el)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL)
|
||||
STRINGISE_ENUM(VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL)
|
||||
@@ -2604,6 +2611,27 @@ rdcstr DoStringise(const VkLineRasterizationModeEXT &el)
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
rdcstr DoStringise(const VkSemaphoreTypeKHR &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkSemaphoreTypeKHR);
|
||||
{
|
||||
STRINGISE_ENUM(VK_SEMAPHORE_TYPE_BINARY_KHR);
|
||||
STRINGISE_ENUM(VK_SEMAPHORE_TYPE_TIMELINE_KHR);
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
rdcstr DoStringise(const VkSemaphoreWaitFlagBitsKHR &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkSemaphoreWaitFlagBitsKHR);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_SEMAPHORE_WAIT_ANY_BIT_KHR);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
rdcstr DoStringise(const VkExtent3D &el)
|
||||
{
|
||||
|
||||
@@ -2292,6 +2292,36 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi
|
||||
CHECK_PHYS_EXT_FEATURE(deviceCoherentMemory);
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
|
||||
BEGIN_PHYS_EXT_CHECK(VkPhysicalDeviceShaderClockFeaturesKHR,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR);
|
||||
{
|
||||
CHECK_PHYS_EXT_FEATURE(shaderSubgroupClock);
|
||||
CHECK_PHYS_EXT_FEATURE(shaderDeviceClock);
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
|
||||
BEGIN_PHYS_EXT_CHECK(VkPhysicalDeviceMemoryPriorityFeaturesEXT,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT);
|
||||
{
|
||||
CHECK_PHYS_EXT_FEATURE(memoryPriority);
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
|
||||
BEGIN_PHYS_EXT_CHECK(VkPhysicalDeviceScalarBlockLayoutFeaturesEXT,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT);
|
||||
{
|
||||
CHECK_PHYS_EXT_FEATURE(scalarBlockLayout);
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
|
||||
BEGIN_PHYS_EXT_CHECK(VkPhysicalDeviceShaderFloat16Int8FeaturesKHR,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR);
|
||||
{
|
||||
CHECK_PHYS_EXT_FEATURE(shaderFloat16);
|
||||
CHECK_PHYS_EXT_FEATURE(shaderInt8);
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
}
|
||||
|
||||
if(availFeatures.depthClamp)
|
||||
|
||||
Reference in New Issue
Block a user