Update to latest vulkan and SPIR-V spec files

* Add support for VK_KHR_shader_clock
This commit is contained in:
baldurk
2019-10-10 15:29:47 +01:00
parent 9b9b747e1e
commit 2afd8fd887
10 changed files with 391 additions and 17 deletions
@@ -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"
},
{
+103 -1
View File
@@ -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"
+118 -7
View File
@@ -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="&quot;VK_AMD_extension_182&quot;" name="VK_KHR_EXTENSION_182_EXTENSION_NAME"/>
<enum value="1" name="VK_KHR_SHADER_CLOCK_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_shader_clock&quot;" 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="&quot;VK_KHR_extension_208&quot;" name="VK_KHR_EXTENSION_208_EXTENSION_NAME"/>
<enum value="2" name="VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_timeline_semaphore&quot;" 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="&quot;VK_GOOGLE_user_type&quot;" 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="&quot;VK_NV_extension_291&quot;" 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="&quot;VK_NV_extension_292&quot;" 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="&quot;VK_NV_extension_293&quot;" name="VK_NV_EXTENSION_293_EXTENSION_NAME"/>
</require>
</extension>
</extensions>
</registry>
+6
View File
@@ -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);
+3
View File
@@ -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;
+41 -2
View File
@@ -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;
+52 -3
View File
@@ -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);
+28
View File
@@ -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)