diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index 1dac79093..5f475dada 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -1613,7 +1613,7 @@ rdcstr Reflector::Disassemble(const rdcstr &entryPoint, uint32_t c = decoded.components[i]; ret += idName(c < vec1Cols ? decoded.vector1 : decoded.vector2) + "."; - ret.push_back(comps[c % vec1Cols]); + ret.push_back(comps[c < vec1Cols ? c : c - vec1Cols]); if(i + 1 < decoded.components.size()) ret += ", "; diff --git a/renderdoc/driver/vulkan/extension_support.md b/renderdoc/driver/vulkan/extension_support.md index abbde5770..a25112115 100644 --- a/renderdoc/driver/vulkan/extension_support.md +++ b/renderdoc/driver/vulkan/extension_support.md @@ -187,6 +187,7 @@ Maintainers can update this file by updating vk.xml in this folder and running ` * `VK_KHR_maintenance4` * `VK_KHR_maintenance5` * `VK_KHR_maintenance6` +* `VK_KHR_maintenance7` * `VK_KHR_map_memory2` * `VK_KHR_multiview` * `VK_KHR_performance_query` @@ -272,7 +273,6 @@ KHR extensions will definitely be implemented at some point, though KHR extensio ## KHR Extensions * `VK_KHR_cooperative_matrix` -* `VK_KHR_maintenance7` * `VK_KHR_maintenance8` * `VK_KHR_maintenance9` * `VK_KHR_pipeline_binary` diff --git a/renderdoc/driver/vulkan/vk_common.h b/renderdoc/driver/vulkan/vk_common.h index 99c90a859..6520756f8 100644 --- a/renderdoc/driver/vulkan/vk_common.h +++ b/renderdoc/driver/vulkan/vk_common.h @@ -1717,6 +1717,9 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceImageViewMinLodFeaturesEXT); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceIndexTypeUint8Features); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceInlineUniformBlockFeatures); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceInlineUniformBlockProperties); +DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLayeredApiVulkanPropertiesKHR); +DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLayeredApiPropertiesListKHR); +DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLayeredApiPropertiesKHR); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLineRasterizationFeatures); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLineRasterizationProperties); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance3Properties); @@ -1726,6 +1729,8 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance5Features); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance5Properties); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance6FeaturesKHR); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance6PropertiesKHR); +DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance7FeaturesKHR); +DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance7PropertiesKHR); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMemoryBudgetPropertiesEXT); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMemoryPriorityFeaturesEXT); DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMemoryProperties2); @@ -2225,6 +2230,9 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceImageViewMinLodFeaturesEXT); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceIndexTypeUint8Features); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceInlineUniformBlockFeatures); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceInlineUniformBlockProperties); +DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceLayeredApiVulkanPropertiesKHR); +DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceLayeredApiPropertiesListKHR); +DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceLayeredApiPropertiesKHR); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceLineRasterizationFeatures); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceLineRasterizationProperties); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance3Properties); @@ -2234,6 +2242,8 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance5Features); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance5Properties); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance6FeaturesKHR); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance6PropertiesKHR); +DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance7FeaturesKHR); +DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance7PropertiesKHR); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMemoryBudgetPropertiesEXT); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMemoryPriorityFeaturesEXT); DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMemoryProperties2); @@ -2753,6 +2763,7 @@ DECLARE_REFLECTION_ENUM(VkPerformanceCounterScopeKHR); DECLARE_REFLECTION_ENUM(VkPerformanceCounterStorageKHR); DECLARE_REFLECTION_ENUM(VkPerformanceCounterUnitKHR); DECLARE_REFLECTION_ENUM(VkPhysicalDeviceType); +DECLARE_REFLECTION_ENUM(VkPhysicalDeviceLayeredApiKHR); DECLARE_REFLECTION_ENUM(VkPipelineBindPoint); DECLARE_REFLECTION_ENUM(VkPipelineCacheCreateFlagBits); DECLARE_REFLECTION_ENUM(VkPipelineColorBlendStateCreateFlagBits); diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index c1717d92e..1700e01ee 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -1690,6 +1690,10 @@ static const VkExtensionProperties supportedExtensions[] = { VK_KHR_MAINTENANCE_6_EXTENSION_NAME, VK_KHR_MAINTENANCE_6_SPEC_VERSION, }, + { + VK_KHR_MAINTENANCE_7_EXTENSION_NAME, + VK_KHR_MAINTENANCE_7_SPEC_VERSION, + }, { VK_KHR_MAP_MEMORY_2_EXTENSION_NAME, VK_KHR_MAP_MEMORY_2_SPEC_VERSION, diff --git a/renderdoc/driver/vulkan/vk_next_chains.cpp b/renderdoc/driver/vulkan/vk_next_chains.cpp index 8957ba591..ceeb27150 100644 --- a/renderdoc/driver/vulkan/vk_next_chains.cpp +++ b/renderdoc/driver/vulkan/vk_next_chains.cpp @@ -384,6 +384,10 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct, VkPhysicalDeviceMaintenance6Features); \ COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES, \ VkPhysicalDeviceMaintenance6Properties); \ + COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR, \ + VkPhysicalDeviceMaintenance7FeaturesKHR); \ + COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR, \ + VkPhysicalDeviceMaintenance7PropertiesKHR); \ COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT, \ VkPhysicalDeviceMemoryBudgetPropertiesEXT); \ COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, \ @@ -408,6 +412,14 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct, VkPhysicalDeviceNestedCommandBufferPropertiesEXT); \ COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT, \ VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT); \ + COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR, \ + VkPhysicalDeviceLayeredApiPropertiesKHR); \ + COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR, \ + VkPhysicalDeviceLayeredApiPropertiesListKHR); \ + /* normally this would need complex unwrapping for the properties member, */ \ + /* but the properties.pNext chain is very limited */ \ + COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR, \ + VkPhysicalDeviceLayeredApiVulkanPropertiesKHR); \ COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, \ VkPhysicalDeviceLineRasterizationFeatures) \ COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, \ @@ -1183,16 +1195,11 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct, case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: \ - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR: \ - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR: \ - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: \ - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR: \ - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR: \ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR: \ diff --git a/renderdoc/driver/vulkan/vk_serialise.cpp b/renderdoc/driver/vulkan/vk_serialise.cpp index 690ed3e09..75b23b4a6 100644 --- a/renderdoc/driver/vulkan/vk_serialise.cpp +++ b/renderdoc/driver/vulkan/vk_serialise.cpp @@ -1302,6 +1302,18 @@ SERIALISE_VK_HANDLES(); PNEXT_STRUCT(VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT, \ VkBindDescriptorBufferEmbeddedSamplersInfoEXT) \ \ + /* VK_KHR_maintenance7 */ \ + PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR, \ + VkPhysicalDeviceMaintenance7FeaturesKHR) \ + PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR, \ + VkPhysicalDeviceMaintenance7PropertiesKHR) \ + PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR, \ + VkPhysicalDeviceLayeredApiPropertiesListKHR) \ + PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR, \ + VkPhysicalDeviceLayeredApiPropertiesKHR) \ + PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR, \ + VkPhysicalDeviceLayeredApiVulkanPropertiesKHR) \ + \ /* VK_KHR_map_memory2 */ \ PNEXT_STRUCT(VK_STRUCTURE_TYPE_MEMORY_MAP_INFO, VkMemoryMapInfo) \ PNEXT_STRUCT(VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO, VkMemoryUnmapInfo) \ @@ -1942,13 +1954,6 @@ SERIALISE_VK_HANDLES(); PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR) \ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR) \ \ - /* VK_KHR_maintenance7 */ \ - PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR) \ - PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR) \ - PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR) \ - PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR) \ - PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR) \ - \ /* VK_KHR_maintenance8 */ \ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR) \ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR) \ @@ -13799,6 +13804,97 @@ void Deserialise(const VkBindDescriptorBufferEmbeddedSamplersInfoEXT &el) DeserialiseNext(el.pNext); } +template +void DoSerialise(SerialiserType &ser, VkPhysicalDeviceLayeredApiPropertiesKHR &el) +{ + RDCASSERT(ser.IsReading() || + el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR); + SerialiseNext(ser, el.sType, el.pNext); + + SERIALISE_MEMBER(vendorID); + SERIALISE_MEMBER(deviceID); + SERIALISE_MEMBER(layeredAPI); + SERIALISE_MEMBER(deviceName); +} + +template <> +void Deserialise(const VkPhysicalDeviceLayeredApiPropertiesKHR &el) +{ + DeserialiseNext(el.pNext); +} + +template +void DoSerialise(SerialiserType &ser, VkPhysicalDeviceLayeredApiPropertiesListKHR &el) +{ + RDCASSERT(ser.IsReading() || + el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR); + SerialiseNext(ser, el.sType, el.pNext); + + SERIALISE_MEMBER(layeredApiCount); + SERIALISE_MEMBER_ARRAY(pLayeredApis, layeredApiCount); +} + +template <> +void Deserialise(const VkPhysicalDeviceLayeredApiPropertiesListKHR &el) +{ + DeserialiseNext(el.pNext); +} + +template +void DoSerialise(SerialiserType &ser, VkPhysicalDeviceLayeredApiVulkanPropertiesKHR &el) +{ + RDCASSERT(ser.IsReading() || + el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR); + SerialiseNext(ser, el.sType, el.pNext); + + SERIALISE_MEMBER(properties); +} + +template <> +void Deserialise(const VkPhysicalDeviceLayeredApiVulkanPropertiesKHR &el) +{ + DeserialiseNext(el.pNext); +} + +template +void DoSerialise(SerialiserType &ser, VkPhysicalDeviceMaintenance7FeaturesKHR &el) +{ + RDCASSERT(ser.IsReading() || + el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR); + SerialiseNext(ser, el.sType, el.pNext); + + SERIALISE_MEMBER(maintenance7); +} + +template <> +void Deserialise(const VkPhysicalDeviceMaintenance7FeaturesKHR &el) +{ + DeserialiseNext(el.pNext); +} + +template +void DoSerialise(SerialiserType &ser, VkPhysicalDeviceMaintenance7PropertiesKHR &el) +{ + RDCASSERT(ser.IsReading() || + el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR); + SerialiseNext(ser, el.sType, el.pNext); + + SERIALISE_MEMBER(robustFragmentShadingRateAttachmentAccess); + SERIALISE_MEMBER(separateDepthStencilAttachmentAccess); + SERIALISE_MEMBER(maxDescriptorSetTotalUniformBuffersDynamic); + SERIALISE_MEMBER(maxDescriptorSetTotalStorageBuffersDynamic); + SERIALISE_MEMBER(maxDescriptorSetTotalBuffersDynamic); + SERIALISE_MEMBER(maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic); + SERIALISE_MEMBER(maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic); + SERIALISE_MEMBER(maxDescriptorSetUpdateAfterBindTotalBuffersDynamic); +} + +template <> +void Deserialise(const VkPhysicalDeviceMaintenance7PropertiesKHR &el) +{ + DeserialiseNext(el.pNext); +} + template void DoSerialise(SerialiserType &ser, VkImageCompressionControlEXT &el) { @@ -14409,6 +14505,9 @@ INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceImageViewImageFormatInfoEXT); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceIndexTypeUint8Features); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceInlineUniformBlockFeatures); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceInlineUniformBlockProperties); +INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceLayeredApiVulkanPropertiesKHR); +INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceLayeredApiPropertiesListKHR); +INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceLayeredApiPropertiesKHR); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceLineRasterizationFeatures); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceLineRasterizationProperties); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMaintenance3Properties); @@ -14418,6 +14517,8 @@ INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMaintenance5Features); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMaintenance5Properties); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMaintenance6FeaturesKHR); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMaintenance6PropertiesKHR); +INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMaintenance7FeaturesKHR); +INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMaintenance7PropertiesKHR); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMemoryBudgetPropertiesEXT); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMemoryPriorityFeaturesEXT); INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceMemoryProperties2); diff --git a/renderdoc/driver/vulkan/vk_stringise.cpp b/renderdoc/driver/vulkan/vk_stringise.cpp index 3647ad49c..1ddaf80bc 100644 --- a/renderdoc/driver/vulkan/vk_stringise.cpp +++ b/renderdoc/driver/vulkan/vk_stringise.cpp @@ -4526,6 +4526,20 @@ rdcstr DoStringise(const VkGeometryTypeKHR &el) END_ENUM_STRINGISE(); } +template <> +rdcstr DoStringise(const VkPhysicalDeviceLayeredApiKHR &el) +{ + BEGIN_ENUM_STRINGISE(VkPhysicalDeviceLayeredApiKHR); + { + STRINGISE_ENUM(VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR) + STRINGISE_ENUM(VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR) + STRINGISE_ENUM(VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR) + STRINGISE_ENUM(VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR) + STRINGISE_ENUM(VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR) + } + END_ENUM_STRINGISE(); +} + template <> rdcstr DoStringise(const VkImageCompressionFixedRateFlagBitsEXT &el) { diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index 6b732d4aa..1ca29155a 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -3550,6 +3550,13 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi m_Maintenance6 = ext->maintenance6 != VK_FALSE; } END_PHYS_EXT_CHECK(); + + BEGIN_PHYS_EXT_CHECK(VkPhysicalDeviceMaintenance7FeaturesKHR, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR); + { + CHECK_PHYS_EXT_FEATURE(maintenance7); + } + END_PHYS_EXT_CHECK(); } if(availFeatures.depthClamp)