From 28f41081d6babc7d1ac055c8ae73e9e197ac725b Mon Sep 17 00:00:00 2001 From: Peter Harris Date: Tue, 24 Mar 2026 13:52:20 +0000 Subject: [PATCH] Update to Vulkan 1.4.347 release This PR updates Vulkan headers and Vulkan Utilities Library. --- .../framework/device_dispatch_table.hpp | 75 +++ source_common/framework/device_functions.cpp | 454 +++++++++++++++ source_common/framework/device_functions.hpp | 383 ++++++++++++ .../framework/device_functions_query.hpp | 550 ++++++++++++++++++ .../framework/instance_dispatch_table.hpp | 25 + source_third_party/khronos/vulkan | 2 +- source_third_party/khronos/vulkan-utilities | 2 +- 7 files changed, 1489 insertions(+), 2 deletions(-) diff --git a/source_common/framework/device_dispatch_table.hpp b/source_common/framework/device_dispatch_table.hpp index d52983b..8c91a92 100644 --- a/source_common/framework/device_dispatch_table.hpp +++ b/source_common/framework/device_dispatch_table.hpp @@ -85,6 +85,7 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkBuildAccelerationStructuresKHR), ENTRY(vkBuildMicromapsEXT), ENTRY(vkClearShaderInstrumentationMetricsARM), + ENTRY(vkCmdBeginConditionalRendering2EXT), ENTRY(vkCmdBeginConditionalRenderingEXT), ENTRY(vkCmdBeginCustomResolveEXT), ENTRY(vkCmdBeginDebugUtilsLabelEXT), @@ -96,6 +97,7 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkCmdBeginRendering), ENTRY(vkCmdBeginRenderingKHR), ENTRY(vkCmdBeginShaderInstrumentationARM), + ENTRY(vkCmdBeginTransformFeedback2EXT), ENTRY(vkCmdBeginTransformFeedbackEXT), ENTRY(vkCmdBindDescriptorBufferEmbeddedSamplers2EXT), ENTRY(vkCmdBindDescriptorBufferEmbeddedSamplersEXT), @@ -106,14 +108,17 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkCmdBindIndexBuffer), ENTRY(vkCmdBindIndexBuffer2), ENTRY(vkCmdBindIndexBuffer2KHR), + ENTRY(vkCmdBindIndexBuffer3KHR), ENTRY(vkCmdBindPipeline), ENTRY(vkCmdBindResourceHeapEXT), ENTRY(vkCmdBindSamplerHeapEXT), ENTRY(vkCmdBindShadersEXT), + ENTRY(vkCmdBindTransformFeedbackBuffers2EXT), ENTRY(vkCmdBindTransformFeedbackBuffersEXT), ENTRY(vkCmdBindVertexBuffers), ENTRY(vkCmdBindVertexBuffers2), ENTRY(vkCmdBindVertexBuffers2EXT), + ENTRY(vkCmdBindVertexBuffers3KHR), ENTRY(vkCmdBlitImage), ENTRY(vkCmdBlitImage2), ENTRY(vkCmdBlitImage2KHR), @@ -137,13 +142,17 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkCmdCopyImageToBuffer), ENTRY(vkCmdCopyImageToBuffer2), ENTRY(vkCmdCopyImageToBuffer2KHR), + ENTRY(vkCmdCopyImageToMemoryKHR), ENTRY(vkCmdCopyMemoryIndirectKHR), + ENTRY(vkCmdCopyMemoryKHR), ENTRY(vkCmdCopyMemoryToAccelerationStructureKHR), ENTRY(vkCmdCopyMemoryToImageIndirectKHR), + ENTRY(vkCmdCopyMemoryToImageKHR), ENTRY(vkCmdCopyMemoryToMicromapEXT), ENTRY(vkCmdCopyMicromapEXT), ENTRY(vkCmdCopyMicromapToMemoryEXT), ENTRY(vkCmdCopyQueryPoolResults), + ENTRY(vkCmdCopyQueryPoolResultsToMemoryKHR), ENTRY(vkCmdCopyTensorARM), ENTRY(vkCmdDebugMarkerBeginEXT), ENTRY(vkCmdDebugMarkerEndEXT), @@ -155,16 +164,24 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkCmdDispatchBaseKHR), ENTRY(vkCmdDispatchDataGraphARM), ENTRY(vkCmdDispatchIndirect), + ENTRY(vkCmdDispatchIndirect2KHR), ENTRY(vkCmdDraw), ENTRY(vkCmdDrawIndexed), ENTRY(vkCmdDrawIndexedIndirect), + ENTRY(vkCmdDrawIndexedIndirect2KHR), ENTRY(vkCmdDrawIndexedIndirectCount), + ENTRY(vkCmdDrawIndexedIndirectCount2KHR), ENTRY(vkCmdDrawIndexedIndirectCountKHR), ENTRY(vkCmdDrawIndirect), + ENTRY(vkCmdDrawIndirect2KHR), + ENTRY(vkCmdDrawIndirectByteCount2EXT), ENTRY(vkCmdDrawIndirectByteCountEXT), ENTRY(vkCmdDrawIndirectCount), + ENTRY(vkCmdDrawIndirectCount2KHR), ENTRY(vkCmdDrawIndirectCountKHR), ENTRY(vkCmdDrawMeshTasksEXT), + ENTRY(vkCmdDrawMeshTasksIndirect2EXT), + ENTRY(vkCmdDrawMeshTasksIndirectCount2EXT), ENTRY(vkCmdDrawMeshTasksIndirectCountEXT), ENTRY(vkCmdDrawMeshTasksIndirectEXT), ENTRY(vkCmdDrawMultiEXT), @@ -181,10 +198,12 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkCmdEndRendering2KHR), ENTRY(vkCmdEndRenderingKHR), ENTRY(vkCmdEndShaderInstrumentationARM), + ENTRY(vkCmdEndTransformFeedback2EXT), ENTRY(vkCmdEndTransformFeedbackEXT), ENTRY(vkCmdExecuteCommands), ENTRY(vkCmdExecuteGeneratedCommandsEXT), ENTRY(vkCmdFillBuffer), + ENTRY(vkCmdFillMemoryKHR), ENTRY(vkCmdInsertDebugUtilsLabelEXT), ENTRY(vkCmdNextSubpass), ENTRY(vkCmdNextSubpass2), @@ -311,10 +330,13 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkCmdTraceRaysIndirectKHR), ENTRY(vkCmdTraceRaysKHR), ENTRY(vkCmdUpdateBuffer), + ENTRY(vkCmdUpdateMemoryKHR), ENTRY(vkCmdWaitEvents), ENTRY(vkCmdWaitEvents2), ENTRY(vkCmdWaitEvents2KHR), ENTRY(vkCmdWriteAccelerationStructuresPropertiesKHR), + ENTRY(vkCmdWriteBufferMarker2AMD), + ENTRY(vkCmdWriteMarkerToMemoryAMD), ENTRY(vkCmdWriteMicromapsPropertiesEXT), ENTRY(vkCmdWriteTimestamp), ENTRY(vkCmdWriteTimestamp2), @@ -331,6 +353,7 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkCopyMemoryToMicromapEXT), ENTRY(vkCopyMicromapEXT), ENTRY(vkCopyMicromapToMemoryEXT), + ENTRY(vkCreateAccelerationStructure2KHR), ENTRY(vkCreateAccelerationStructureKHR), ENTRY(vkCreateBuffer), ENTRY(vkCreateBufferView), @@ -450,7 +473,9 @@ static const struct DeviceInterceptTableEntry deviceIntercepts[] = { ENTRY(vkGetDeviceAccelerationStructureCompatibilityKHR), ENTRY(vkGetDeviceBufferMemoryRequirements), ENTRY(vkGetDeviceBufferMemoryRequirementsKHR), + ENTRY(vkGetDeviceFaultDebugInfoKHR), ENTRY(vkGetDeviceFaultInfoEXT), + ENTRY(vkGetDeviceFaultReportsKHR), ENTRY(vkGetDeviceGroupPeerMemoryFeatures), ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR), ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR), @@ -615,6 +640,7 @@ struct DeviceDispatchTable { PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT; PFN_vkClearShaderInstrumentationMetricsARM vkClearShaderInstrumentationMetricsARM; + PFN_vkCmdBeginConditionalRendering2EXT vkCmdBeginConditionalRendering2EXT; PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; PFN_vkCmdBeginCustomResolveEXT vkCmdBeginCustomResolveEXT; PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; @@ -626,6 +652,7 @@ struct DeviceDispatchTable { PFN_vkCmdBeginRendering vkCmdBeginRendering; PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; PFN_vkCmdBeginShaderInstrumentationARM vkCmdBeginShaderInstrumentationARM; + PFN_vkCmdBeginTransformFeedback2EXT vkCmdBeginTransformFeedback2EXT; PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT; @@ -636,14 +663,17 @@ struct DeviceDispatchTable { PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; PFN_vkCmdBindIndexBuffer2 vkCmdBindIndexBuffer2; PFN_vkCmdBindIndexBuffer2KHR vkCmdBindIndexBuffer2KHR; + PFN_vkCmdBindIndexBuffer3KHR vkCmdBindIndexBuffer3KHR; PFN_vkCmdBindPipeline vkCmdBindPipeline; PFN_vkCmdBindResourceHeapEXT vkCmdBindResourceHeapEXT; PFN_vkCmdBindSamplerHeapEXT vkCmdBindSamplerHeapEXT; PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT; + PFN_vkCmdBindTransformFeedbackBuffers2EXT vkCmdBindTransformFeedbackBuffers2EXT; PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; + PFN_vkCmdBindVertexBuffers3KHR vkCmdBindVertexBuffers3KHR; PFN_vkCmdBlitImage vkCmdBlitImage; PFN_vkCmdBlitImage2 vkCmdBlitImage2; PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; @@ -667,13 +697,17 @@ struct DeviceDispatchTable { PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; + PFN_vkCmdCopyImageToMemoryKHR vkCmdCopyImageToMemoryKHR; PFN_vkCmdCopyMemoryIndirectKHR vkCmdCopyMemoryIndirectKHR; + PFN_vkCmdCopyMemoryKHR vkCmdCopyMemoryKHR; PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; PFN_vkCmdCopyMemoryToImageIndirectKHR vkCmdCopyMemoryToImageIndirectKHR; + PFN_vkCmdCopyMemoryToImageKHR vkCmdCopyMemoryToImageKHR; PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT; PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT; PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT; PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; + PFN_vkCmdCopyQueryPoolResultsToMemoryKHR vkCmdCopyQueryPoolResultsToMemoryKHR; PFN_vkCmdCopyTensorARM vkCmdCopyTensorARM; PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; @@ -685,16 +719,24 @@ struct DeviceDispatchTable { PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; PFN_vkCmdDispatchDataGraphARM vkCmdDispatchDataGraphARM; PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; + PFN_vkCmdDispatchIndirect2KHR vkCmdDispatchIndirect2KHR; PFN_vkCmdDraw vkCmdDraw; PFN_vkCmdDrawIndexed vkCmdDrawIndexed; PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; + PFN_vkCmdDrawIndexedIndirect2KHR vkCmdDrawIndexedIndirect2KHR; PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; + PFN_vkCmdDrawIndexedIndirectCount2KHR vkCmdDrawIndexedIndirectCount2KHR; PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; PFN_vkCmdDrawIndirect vkCmdDrawIndirect; + PFN_vkCmdDrawIndirect2KHR vkCmdDrawIndirect2KHR; + PFN_vkCmdDrawIndirectByteCount2EXT vkCmdDrawIndirectByteCount2EXT; PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; + PFN_vkCmdDrawIndirectCount2KHR vkCmdDrawIndirectCount2KHR; PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; + PFN_vkCmdDrawMeshTasksIndirect2EXT vkCmdDrawMeshTasksIndirect2EXT; + PFN_vkCmdDrawMeshTasksIndirectCount2EXT vkCmdDrawMeshTasksIndirectCount2EXT; PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; @@ -711,10 +753,12 @@ struct DeviceDispatchTable { PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR; PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; PFN_vkCmdEndShaderInstrumentationARM vkCmdEndShaderInstrumentationARM; + PFN_vkCmdEndTransformFeedback2EXT vkCmdEndTransformFeedback2EXT; PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; PFN_vkCmdExecuteCommands vkCmdExecuteCommands; PFN_vkCmdExecuteGeneratedCommandsEXT vkCmdExecuteGeneratedCommandsEXT; PFN_vkCmdFillBuffer vkCmdFillBuffer; + PFN_vkCmdFillMemoryKHR vkCmdFillMemoryKHR; PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; PFN_vkCmdNextSubpass vkCmdNextSubpass; PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; @@ -841,10 +885,13 @@ struct DeviceDispatchTable { PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; + PFN_vkCmdUpdateMemoryKHR vkCmdUpdateMemoryKHR; PFN_vkCmdWaitEvents vkCmdWaitEvents; PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; + PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; + PFN_vkCmdWriteMarkerToMemoryAMD vkCmdWriteMarkerToMemoryAMD; PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT; PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; @@ -861,6 +908,7 @@ struct DeviceDispatchTable { PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT; PFN_vkCopyMicromapEXT vkCopyMicromapEXT; PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT; + PFN_vkCreateAccelerationStructure2KHR vkCreateAccelerationStructure2KHR; PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; PFN_vkCreateBuffer vkCreateBuffer; PFN_vkCreateBufferView vkCreateBufferView; @@ -980,7 +1028,9 @@ struct DeviceDispatchTable { PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; + PFN_vkGetDeviceFaultDebugInfoKHR vkGetDeviceFaultDebugInfoKHR; PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT; + PFN_vkGetDeviceFaultReportsKHR vkGetDeviceFaultReportsKHR; PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; @@ -1154,6 +1204,7 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkBuildAccelerationStructuresKHR); ENTRY(vkBuildMicromapsEXT); ENTRY(vkClearShaderInstrumentationMetricsARM); + ENTRY(vkCmdBeginConditionalRendering2EXT); ENTRY(vkCmdBeginConditionalRenderingEXT); ENTRY(vkCmdBeginCustomResolveEXT); ENTRY(vkCmdBeginDebugUtilsLabelEXT); @@ -1165,6 +1216,7 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkCmdBeginRendering); ENTRY(vkCmdBeginRenderingKHR); ENTRY(vkCmdBeginShaderInstrumentationARM); + ENTRY(vkCmdBeginTransformFeedback2EXT); ENTRY(vkCmdBeginTransformFeedbackEXT); ENTRY(vkCmdBindDescriptorBufferEmbeddedSamplers2EXT); ENTRY(vkCmdBindDescriptorBufferEmbeddedSamplersEXT); @@ -1175,14 +1227,17 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkCmdBindIndexBuffer); ENTRY(vkCmdBindIndexBuffer2); ENTRY(vkCmdBindIndexBuffer2KHR); + ENTRY(vkCmdBindIndexBuffer3KHR); ENTRY(vkCmdBindPipeline); ENTRY(vkCmdBindResourceHeapEXT); ENTRY(vkCmdBindSamplerHeapEXT); ENTRY(vkCmdBindShadersEXT); + ENTRY(vkCmdBindTransformFeedbackBuffers2EXT); ENTRY(vkCmdBindTransformFeedbackBuffersEXT); ENTRY(vkCmdBindVertexBuffers); ENTRY(vkCmdBindVertexBuffers2); ENTRY(vkCmdBindVertexBuffers2EXT); + ENTRY(vkCmdBindVertexBuffers3KHR); ENTRY(vkCmdBlitImage); ENTRY(vkCmdBlitImage2); ENTRY(vkCmdBlitImage2KHR); @@ -1206,13 +1261,17 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkCmdCopyImageToBuffer); ENTRY(vkCmdCopyImageToBuffer2); ENTRY(vkCmdCopyImageToBuffer2KHR); + ENTRY(vkCmdCopyImageToMemoryKHR); ENTRY(vkCmdCopyMemoryIndirectKHR); + ENTRY(vkCmdCopyMemoryKHR); ENTRY(vkCmdCopyMemoryToAccelerationStructureKHR); ENTRY(vkCmdCopyMemoryToImageIndirectKHR); + ENTRY(vkCmdCopyMemoryToImageKHR); ENTRY(vkCmdCopyMemoryToMicromapEXT); ENTRY(vkCmdCopyMicromapEXT); ENTRY(vkCmdCopyMicromapToMemoryEXT); ENTRY(vkCmdCopyQueryPoolResults); + ENTRY(vkCmdCopyQueryPoolResultsToMemoryKHR); ENTRY(vkCmdCopyTensorARM); ENTRY(vkCmdDebugMarkerBeginEXT); ENTRY(vkCmdDebugMarkerEndEXT); @@ -1224,16 +1283,24 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkCmdDispatchBaseKHR); ENTRY(vkCmdDispatchDataGraphARM); ENTRY(vkCmdDispatchIndirect); + ENTRY(vkCmdDispatchIndirect2KHR); ENTRY(vkCmdDraw); ENTRY(vkCmdDrawIndexed); ENTRY(vkCmdDrawIndexedIndirect); + ENTRY(vkCmdDrawIndexedIndirect2KHR); ENTRY(vkCmdDrawIndexedIndirectCount); + ENTRY(vkCmdDrawIndexedIndirectCount2KHR); ENTRY(vkCmdDrawIndexedIndirectCountKHR); ENTRY(vkCmdDrawIndirect); + ENTRY(vkCmdDrawIndirect2KHR); + ENTRY(vkCmdDrawIndirectByteCount2EXT); ENTRY(vkCmdDrawIndirectByteCountEXT); ENTRY(vkCmdDrawIndirectCount); + ENTRY(vkCmdDrawIndirectCount2KHR); ENTRY(vkCmdDrawIndirectCountKHR); ENTRY(vkCmdDrawMeshTasksEXT); + ENTRY(vkCmdDrawMeshTasksIndirect2EXT); + ENTRY(vkCmdDrawMeshTasksIndirectCount2EXT); ENTRY(vkCmdDrawMeshTasksIndirectCountEXT); ENTRY(vkCmdDrawMeshTasksIndirectEXT); ENTRY(vkCmdDrawMultiEXT); @@ -1250,10 +1317,12 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkCmdEndRendering2KHR); ENTRY(vkCmdEndRenderingKHR); ENTRY(vkCmdEndShaderInstrumentationARM); + ENTRY(vkCmdEndTransformFeedback2EXT); ENTRY(vkCmdEndTransformFeedbackEXT); ENTRY(vkCmdExecuteCommands); ENTRY(vkCmdExecuteGeneratedCommandsEXT); ENTRY(vkCmdFillBuffer); + ENTRY(vkCmdFillMemoryKHR); ENTRY(vkCmdInsertDebugUtilsLabelEXT); ENTRY(vkCmdNextSubpass); ENTRY(vkCmdNextSubpass2); @@ -1380,10 +1449,13 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkCmdTraceRaysIndirectKHR); ENTRY(vkCmdTraceRaysKHR); ENTRY(vkCmdUpdateBuffer); + ENTRY(vkCmdUpdateMemoryKHR); ENTRY(vkCmdWaitEvents); ENTRY(vkCmdWaitEvents2); ENTRY(vkCmdWaitEvents2KHR); ENTRY(vkCmdWriteAccelerationStructuresPropertiesKHR); + ENTRY(vkCmdWriteBufferMarker2AMD); + ENTRY(vkCmdWriteMarkerToMemoryAMD); ENTRY(vkCmdWriteMicromapsPropertiesEXT); ENTRY(vkCmdWriteTimestamp); ENTRY(vkCmdWriteTimestamp2); @@ -1400,6 +1472,7 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkCopyMemoryToMicromapEXT); ENTRY(vkCopyMicromapEXT); ENTRY(vkCopyMicromapToMemoryEXT); + ENTRY(vkCreateAccelerationStructure2KHR); ENTRY(vkCreateAccelerationStructureKHR); ENTRY(vkCreateBuffer); ENTRY(vkCreateBufferView); @@ -1519,7 +1592,9 @@ static inline void initDriverDeviceDispatchTable( ENTRY(vkGetDeviceAccelerationStructureCompatibilityKHR); ENTRY(vkGetDeviceBufferMemoryRequirements); ENTRY(vkGetDeviceBufferMemoryRequirementsKHR); + ENTRY(vkGetDeviceFaultDebugInfoKHR); ENTRY(vkGetDeviceFaultInfoEXT); + ENTRY(vkGetDeviceFaultReportsKHR); ENTRY(vkGetDeviceGroupPeerMemoryFeatures); ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR); ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR); diff --git a/source_common/framework/device_functions.cpp b/source_common/framework/device_functions.cpp index 68dbf28..716ac4b 100644 --- a/source_common/framework/device_functions.cpp +++ b/source_common/framework/device_functions.cpp @@ -366,6 +366,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkClearShaderInstrumentationMetricsARMdriver.vkClearShaderInstrumentationMetricsARM(device, instrumentation); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginConditionalRendering2EXT( + VkCommandBuffer commandBuffer, + const VkConditionalRenderingBeginInfo2EXT* pConditionalRenderingBegin +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdBeginConditionalRendering2EXT(commandBuffer, pConditionalRenderingBegin); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginConditionalRenderingEXT( @@ -561,6 +578,25 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginShaderInstrumentationARM layer->driver.vkCmdBeginShaderInstrumentationARM(commandBuffer, instrumentation); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginTransformFeedback2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstCounterRange, + uint32_t counterRangeCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdBeginTransformFeedback2EXT(commandBuffer, firstCounterRange, counterRangeCount, pCounterInfos); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginTransformFeedbackEXT( @@ -751,6 +787,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindIndexBuffer2KHR( layer->driver.vkCmdBindIndexBuffer2KHR(commandBuffer, buffer, offset, size, indexType); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindIndexBuffer3KHR( + VkCommandBuffer commandBuffer, + const VkBindIndexBuffer3InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdBindIndexBuffer3KHR(commandBuffer, pInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindPipeline( @@ -822,6 +875,25 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindShadersEXT( layer->driver.vkCmdBindShadersEXT(commandBuffer, stageCount, pStages, pShaders); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindTransformFeedbackBuffers2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstBinding, + uint32_t bindingCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pBindingInfos +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdBindTransformFeedbackBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBindingInfos); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindTransformFeedbackBuffersEXT( @@ -907,6 +979,25 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindVertexBuffers2EXT( layer->driver.vkCmdBindVertexBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindVertexBuffers3KHR( + VkCommandBuffer commandBuffer, + uint32_t firstBinding, + uint32_t bindingCount, + const VkBindVertexBuffer3InfoKHR* pBindingInfos +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdBindVertexBuffers3KHR(commandBuffer, firstBinding, bindingCount, pBindingInfos); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdBlitImage( @@ -1338,6 +1429,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyImageToBuffer2KHR( layer->driver.vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyImageToMemoryKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdCopyImageToMemoryKHR(commandBuffer, pCopyMemoryInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryIndirectKHR( @@ -1355,6 +1463,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryIndirectKHR( layer->driver.vkCmdCopyMemoryIndirectKHR(commandBuffer, pCopyMemoryIndirectInfo); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryInfoKHR* pCopyMemoryInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdCopyMemoryKHR(commandBuffer, pCopyMemoryInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryToAccelerationStructureKHR( @@ -1389,6 +1514,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryToImageIndirectKHR( layer->driver.vkCmdCopyMemoryToImageIndirectKHR(commandBuffer, pCopyMemoryToImageIndirectInfo); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryToImageKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdCopyMemoryToImageKHR(commandBuffer, pCopyMemoryInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryToMicromapEXT( @@ -1463,6 +1605,28 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyQueryPoolResults( layer->driver.vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyQueryPoolResultsToMemoryKHR( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + uint32_t firstQuery, + uint32_t queryCount, + const VkStridedDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + VkQueryResultFlags queryResultFlags +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdCopyQueryPoolResultsToMemoryKHR(commandBuffer, queryPool, firstQuery, queryCount, pDstRange, dstFlags, queryResultFlags); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyTensorARM( @@ -1667,6 +1831,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDispatchIndirect( layer->driver.vkCmdDispatchIndirect(commandBuffer, buffer, offset); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDispatchIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDispatchIndirect2InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDispatchIndirect2KHR(commandBuffer, pInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdDraw( @@ -1728,6 +1909,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirect( layer->driver.vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDrawIndexedIndirect2KHR(commandBuffer, pInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirectCount( @@ -1750,6 +1948,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirectCount( layer->driver.vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirectCount2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDrawIndexedIndirectCount2KHR(commandBuffer, pInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirectCountKHR( @@ -1792,6 +2007,44 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirect( layer->driver.vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDrawIndirect2KHR(commandBuffer, pInfo); +} + +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectByteCount2EXT( + VkCommandBuffer commandBuffer, + uint32_t instanceCount, + uint32_t firstInstance, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfo, + uint32_t counterOffset, + uint32_t vertexStride +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDrawIndirectByteCount2EXT(commandBuffer, instanceCount, firstInstance, pCounterInfo, counterOffset, vertexStride); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectByteCountEXT( @@ -1836,6 +2089,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectCount( layer->driver.vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectCount2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDrawIndirectCount2KHR(commandBuffer, pInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectCountKHR( @@ -1877,6 +2147,40 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksEXT( layer->driver.vkCmdDrawMeshTasksEXT(commandBuffer, groupCountX, groupCountY, groupCountZ); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksIndirect2EXT( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDrawMeshTasksIndirect2EXT(commandBuffer, pInfo); +} + +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksIndirectCount2EXT( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdDrawMeshTasksIndirectCount2EXT(commandBuffer, pInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksIndirectCountEXT( @@ -2163,6 +2467,25 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndShaderInstrumentationARM( layer->driver.vkCmdEndShaderInstrumentationARM(commandBuffer); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndTransformFeedback2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstCounterRange, + uint32_t counterRangeCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdEndTransformFeedback2EXT(commandBuffer, firstCounterRange, counterRangeCount, pCounterInfos); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndTransformFeedbackEXT( @@ -2239,6 +2562,25 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdFillBuffer( layer->driver.vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdFillMemoryKHR( + VkCommandBuffer commandBuffer, + const VkDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + uint32_t data +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdFillMemoryKHR(commandBuffer, pDstRange, dstFlags, data); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdInsertDebugUtilsLabelEXT( @@ -4486,6 +4828,26 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdUpdateBuffer( layer->driver.vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdUpdateMemoryKHR( + VkCommandBuffer commandBuffer, + const VkDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + VkDeviceSize dataSize, + const void* pData +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdUpdateMemoryKHR(commandBuffer, pDstRange, dstFlags, dataSize, pData); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdWaitEvents( @@ -4571,6 +4933,43 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteAccelerationStructuresPropertiesKHRdriver.vkCmdWriteAccelerationStructuresPropertiesKHR(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteBufferMarker2AMD( + VkCommandBuffer commandBuffer, + VkPipelineStageFlags2 stage, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + uint32_t marker +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker); +} + +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteMarkerToMemoryAMD( + VkCommandBuffer commandBuffer, + const VkMemoryMarkerInfoAMD* pInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(commandBuffer); + + // Release the lock to call into the driver + lock.unlock(); + layer->driver.vkCmdWriteMarkerToMemoryAMD(commandBuffer, pInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteMicromapsPropertiesEXT( @@ -4859,6 +5258,25 @@ VKAPI_ATTR VkResult VKAPI_CALL layer_vkCopyMicromapToMemoryEXT( return layer->driver.vkCopyMicromapToMemoryEXT(device, deferredOperation, pInfo); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR VkResult VKAPI_CALL layer_vkCreateAccelerationStructure2KHR( + VkDevice device, + const VkAccelerationStructureCreateInfo2KHR* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkAccelerationStructureKHR* pAccelerationStructure +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(device); + + // Release the lock to call into the driver + lock.unlock(); + return layer->driver.vkCreateAccelerationStructure2KHR(device, pCreateInfo, pAllocator, pAccelerationStructure); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR VkResult VKAPI_CALL layer_vkCreateAccelerationStructureKHR( @@ -7035,6 +7453,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkGetDeviceBufferMemoryRequirementsKHRdriver.vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultDebugInfoKHR( + VkDevice device, + VkDeviceFaultDebugInfoKHR* pDebugInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(device); + + // Release the lock to call into the driver + lock.unlock(); + return layer->driver.vkGetDeviceFaultDebugInfoKHR(device, pDebugInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultInfoEXT( @@ -7053,6 +7488,25 @@ VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultInfoEXT( return layer->driver.vkGetDeviceFaultInfoEXT(device, pFaultCounts, pFaultInfo); } +/* See Vulkan API for documentation. */ +template <> +VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultReportsKHR( + VkDevice device, + uint64_t timeout, + uint32_t* pFaultCounts, + VkDeviceFaultInfoKHR* pFaultInfo +) { + LAYER_TRACE(__func__); + + // Hold the lock to access layer-wide global store + std::unique_lock lock { g_vulkanLock }; + auto* layer = Device::retrieve(device); + + // Release the lock to call into the driver + lock.unlock(); + return layer->driver.vkGetDeviceFaultReportsKHR(device, timeout, pFaultCounts, pFaultInfo); +} + /* See Vulkan API for documentation. */ template <> VKAPI_ATTR void VKAPI_CALL layer_vkGetDeviceGroupPeerMemoryFeatures( diff --git a/source_common/framework/device_functions.hpp b/source_common/framework/device_functions.hpp index 8d169ad..e400940 100644 --- a/source_common/framework/device_functions.hpp +++ b/source_common/framework/device_functions.hpp @@ -313,6 +313,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkClearShaderInstrumentationMetricsARM +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginConditionalRendering2EXT( + VkCommandBuffer commandBuffer, + const VkConditionalRenderingBeginInfo2EXT* pConditionalRenderingBegin) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginConditionalRendering2EXT( + VkCommandBuffer commandBuffer, + const VkConditionalRenderingBeginInfo2EXT* pConditionalRenderingBegin); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -472,6 +485,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginShaderInstrumentationARM VkCommandBuffer commandBuffer, VkShaderInstrumentationARM instrumentation); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginTransformFeedback2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstCounterRange, + uint32_t counterRangeCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBeginTransformFeedback2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstCounterRange, + uint32_t counterRangeCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -642,6 +672,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindIndexBuffer2KHR( VkDeviceSize size, VkIndexType indexType); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindIndexBuffer3KHR( + VkCommandBuffer commandBuffer, + const VkBindIndexBuffer3InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindIndexBuffer3KHR( + VkCommandBuffer commandBuffer, + const VkBindIndexBuffer3InfoKHR* pInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -700,6 +743,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindShadersEXT( const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindTransformFeedbackBuffers2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstBinding, + uint32_t bindingCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pBindingInfos) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindTransformFeedbackBuffers2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstBinding, + uint32_t bindingCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pBindingInfos); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -786,6 +846,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindVertexBuffers2EXT( const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindVertexBuffers3KHR( + VkCommandBuffer commandBuffer, + uint32_t firstBinding, + uint32_t bindingCount, + const VkBindVertexBuffer3InfoKHR* pBindingInfos) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdBindVertexBuffers3KHR( + VkCommandBuffer commandBuffer, + uint32_t firstBinding, + uint32_t bindingCount, + const VkBindVertexBuffer3InfoKHR* pBindingInfos); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1165,6 +1242,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyImageToMemoryKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyImageToMemoryKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1178,6 +1268,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryIndirectKHR( VkCommandBuffer commandBuffer, const VkCopyMemoryIndirectInfoKHR* pCopyMemoryIndirectInfo); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryInfoKHR* pCopyMemoryInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryInfoKHR* pCopyMemoryInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1204,6 +1307,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryToImageIndirectKHR( VkCommandBuffer commandBuffer, const VkCopyMemoryToImageIndirectInfoKHR* pCopyMemoryToImageIndirectInfo); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryToImageKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyMemoryToImageKHR( + VkCommandBuffer commandBuffer, + const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1268,6 +1384,29 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyQueryPoolResults( VkDeviceSize stride, VkQueryResultFlags flags); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyQueryPoolResultsToMemoryKHR( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + uint32_t firstQuery, + uint32_t queryCount, + const VkStridedDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + VkQueryResultFlags queryResultFlags) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdCopyQueryPoolResultsToMemoryKHR( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + uint32_t firstQuery, + uint32_t queryCount, + const VkStridedDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + VkQueryResultFlags queryResultFlags); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1445,6 +1584,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDispatchIndirect( VkBuffer buffer, VkDeviceSize offset); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDispatchIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDispatchIndirect2InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDispatchIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDispatchIndirect2InfoKHR* pInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1504,6 +1656,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirect( uint32_t drawCount, uint32_t stride); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1527,6 +1692,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirectCount( uint32_t maxDrawCount, uint32_t stride); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirectCount2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndexedIndirectCount2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1569,6 +1747,40 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirect( uint32_t drawCount, uint32_t stride); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirect2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo); + +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectByteCount2EXT( + VkCommandBuffer commandBuffer, + uint32_t instanceCount, + uint32_t firstInstance, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfo, + uint32_t counterOffset, + uint32_t vertexStride) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectByteCount2EXT( + VkCommandBuffer commandBuffer, + uint32_t instanceCount, + uint32_t firstInstance, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfo, + uint32_t counterOffset, + uint32_t vertexStride); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1615,6 +1827,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectCount( uint32_t maxDrawCount, uint32_t stride); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectCount2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawIndirectCount2KHR( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1655,6 +1880,32 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksEXT( uint32_t groupCountY, uint32_t groupCountZ); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksIndirect2EXT( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksIndirect2EXT( + VkCommandBuffer commandBuffer, + const VkDrawIndirect2InfoKHR* pInfo); + +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksIndirectCount2EXT( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdDrawMeshTasksIndirectCount2EXT( + VkCommandBuffer commandBuffer, + const VkDrawIndirectCount2InfoKHR* pInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1891,6 +2142,23 @@ template <> VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndShaderInstrumentationARM( VkCommandBuffer commandBuffer); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndTransformFeedback2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstCounterRange, + uint32_t counterRangeCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndTransformFeedback2EXT( + VkCommandBuffer commandBuffer, + uint32_t firstCounterRange, + uint32_t counterRangeCount, + const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -1959,6 +2227,23 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdFillBuffer( VkDeviceSize size, uint32_t data); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdFillMemoryKHR( + VkCommandBuffer commandBuffer, + const VkDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + uint32_t data) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdFillMemoryKHR( + VkCommandBuffer commandBuffer, + const VkDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + uint32_t data); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -3807,6 +4092,25 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdUpdateBuffer( VkDeviceSize dataSize, const void* pData); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdUpdateMemoryKHR( + VkCommandBuffer commandBuffer, + const VkDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + VkDeviceSize dataSize, + const void* pData) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdUpdateMemoryKHR( + VkCommandBuffer commandBuffer, + const VkDeviceAddressRangeKHR* pDstRange, + VkAddressCommandFlagsKHR dstFlags, + VkDeviceSize dataSize, + const void* pData); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -3893,6 +4197,38 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteAccelerationStructuresPropertiesKHR +VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteBufferMarker2AMD( + VkCommandBuffer commandBuffer, + VkPipelineStageFlags2 stage, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + uint32_t marker) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteBufferMarker2AMD( + VkCommandBuffer commandBuffer, + VkPipelineStageFlags2 stage, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + uint32_t marker); + +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteMarkerToMemoryAMD( + VkCommandBuffer commandBuffer, + const VkMemoryMarkerInfoAMD* pInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR void VKAPI_CALL layer_vkCmdWriteMarkerToMemoryAMD( + VkCommandBuffer commandBuffer, + const VkMemoryMarkerInfoAMD* pInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -4133,6 +4469,23 @@ VKAPI_ATTR VkResult VKAPI_CALL layer_vkCopyMicromapToMemoryEXT( VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR VkResult VKAPI_CALL layer_vkCreateAccelerationStructure2KHR( + VkDevice device, + const VkAccelerationStructureCreateInfo2KHR* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkAccelerationStructureKHR* pAccelerationStructure) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR VkResult VKAPI_CALL layer_vkCreateAccelerationStructure2KHR( + VkDevice device, + const VkAccelerationStructureCreateInfo2KHR* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkAccelerationStructureKHR* pAccelerationStructure); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -6020,6 +6373,19 @@ VKAPI_ATTR void VKAPI_CALL layer_vkGetDeviceBufferMemoryRequirementsKHR +VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultDebugInfoKHR( + VkDevice device, + VkDeviceFaultDebugInfoKHR* pDebugInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultDebugInfoKHR( + VkDevice device, + VkDeviceFaultDebugInfoKHR* pDebugInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template @@ -6035,6 +6401,23 @@ VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultInfoEXT( VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); +/* See Vulkan API for documentation. */ +/* Delete the generic match-all */ +template +VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultReportsKHR( + VkDevice device, + uint64_t timeout, + uint32_t* pFaultCounts, + VkDeviceFaultInfoKHR* pFaultInfo) = delete; + +/* Default common code implementation. */ +template <> +VKAPI_ATTR VkResult VKAPI_CALL layer_vkGetDeviceFaultReportsKHR( + VkDevice device, + uint64_t timeout, + uint32_t* pFaultCounts, + VkDeviceFaultInfoKHR* pFaultInfo); + /* See Vulkan API for documentation. */ /* Delete the generic match-all */ template diff --git a/source_common/framework/device_functions_query.hpp b/source_common/framework/device_functions_query.hpp index a01e0bf..8f03060 100644 --- a/source_common/framework/device_functions_query.hpp +++ b/source_common/framework/device_functions_query.hpp @@ -427,6 +427,28 @@ constexpr PFN_vkClearShaderInstrumentationMetricsARM getLayerPtr_vkClearShaderIn }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdBeginConditionalRendering2EXT = requires( + VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfo2EXT* pConditionalRenderingBegin +) { + layer_vkCmdBeginConditionalRendering2EXT(commandBuffer, pConditionalRenderingBegin); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdBeginConditionalRendering2EXT getLayerPtr_vkCmdBeginConditionalRendering2EXT() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdBeginConditionalRendering2EXT) + { + return layer_vkCmdBeginConditionalRendering2EXT; + } + + return layer_vkCmdBeginConditionalRendering2EXT; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdBeginConditionalRenderingEXT = requires( @@ -669,6 +691,28 @@ constexpr PFN_vkCmdBeginShaderInstrumentationARM getLayerPtr_vkCmdBeginShaderIns }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdBeginTransformFeedback2EXT = requires( + VkCommandBuffer commandBuffer, uint32_t firstCounterRange, uint32_t counterRangeCount, const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos +) { + layer_vkCmdBeginTransformFeedback2EXT(commandBuffer, firstCounterRange, counterRangeCount, pCounterInfos); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdBeginTransformFeedback2EXT getLayerPtr_vkCmdBeginTransformFeedback2EXT() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdBeginTransformFeedback2EXT) + { + return layer_vkCmdBeginTransformFeedback2EXT; + } + + return layer_vkCmdBeginTransformFeedback2EXT; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdBeginTransformFeedbackEXT = requires( @@ -889,6 +933,28 @@ constexpr PFN_vkCmdBindIndexBuffer2KHR getLayerPtr_vkCmdBindIndexBuffer2KHR() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdBindIndexBuffer3KHR = requires( + VkCommandBuffer commandBuffer, const VkBindIndexBuffer3InfoKHR* pInfo +) { + layer_vkCmdBindIndexBuffer3KHR(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdBindIndexBuffer3KHR getLayerPtr_vkCmdBindIndexBuffer3KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdBindIndexBuffer3KHR) + { + return layer_vkCmdBindIndexBuffer3KHR; + } + + return layer_vkCmdBindIndexBuffer3KHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdBindPipeline = requires( @@ -977,6 +1043,28 @@ constexpr PFN_vkCmdBindShadersEXT getLayerPtr_vkCmdBindShadersEXT() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdBindTransformFeedbackBuffers2EXT = requires( + VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBindTransformFeedbackBuffer2InfoEXT* pBindingInfos +) { + layer_vkCmdBindTransformFeedbackBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBindingInfos); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdBindTransformFeedbackBuffers2EXT getLayerPtr_vkCmdBindTransformFeedbackBuffers2EXT() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdBindTransformFeedbackBuffers2EXT) + { + return layer_vkCmdBindTransformFeedbackBuffers2EXT; + } + + return layer_vkCmdBindTransformFeedbackBuffers2EXT; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdBindTransformFeedbackBuffersEXT = requires( @@ -1065,6 +1153,28 @@ constexpr PFN_vkCmdBindVertexBuffers2EXT getLayerPtr_vkCmdBindVertexBuffers2EXT( }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdBindVertexBuffers3KHR = requires( + VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBindVertexBuffer3InfoKHR* pBindingInfos +) { + layer_vkCmdBindVertexBuffers3KHR(commandBuffer, firstBinding, bindingCount, pBindingInfos); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdBindVertexBuffers3KHR getLayerPtr_vkCmdBindVertexBuffers3KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdBindVertexBuffers3KHR) + { + return layer_vkCmdBindVertexBuffers3KHR; + } + + return layer_vkCmdBindVertexBuffers3KHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdBlitImage = requires( @@ -1571,6 +1681,28 @@ constexpr PFN_vkCmdCopyImageToBuffer2KHR getLayerPtr_vkCmdCopyImageToBuffer2KHR( }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdCopyImageToMemoryKHR = requires( + VkCommandBuffer commandBuffer, const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo +) { + layer_vkCmdCopyImageToMemoryKHR(commandBuffer, pCopyMemoryInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdCopyImageToMemoryKHR getLayerPtr_vkCmdCopyImageToMemoryKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdCopyImageToMemoryKHR) + { + return layer_vkCmdCopyImageToMemoryKHR; + } + + return layer_vkCmdCopyImageToMemoryKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdCopyMemoryIndirectKHR = requires( @@ -1593,6 +1725,28 @@ constexpr PFN_vkCmdCopyMemoryIndirectKHR getLayerPtr_vkCmdCopyMemoryIndirectKHR( }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdCopyMemoryKHR = requires( + VkCommandBuffer commandBuffer, const VkCopyDeviceMemoryInfoKHR* pCopyMemoryInfo +) { + layer_vkCmdCopyMemoryKHR(commandBuffer, pCopyMemoryInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdCopyMemoryKHR getLayerPtr_vkCmdCopyMemoryKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdCopyMemoryKHR) + { + return layer_vkCmdCopyMemoryKHR; + } + + return layer_vkCmdCopyMemoryKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdCopyMemoryToAccelerationStructureKHR = requires( @@ -1637,6 +1791,28 @@ constexpr PFN_vkCmdCopyMemoryToImageIndirectKHR getLayerPtr_vkCmdCopyMemoryToIma }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdCopyMemoryToImageKHR = requires( + VkCommandBuffer commandBuffer, const VkCopyDeviceMemoryImageInfoKHR* pCopyMemoryInfo +) { + layer_vkCmdCopyMemoryToImageKHR(commandBuffer, pCopyMemoryInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdCopyMemoryToImageKHR getLayerPtr_vkCmdCopyMemoryToImageKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdCopyMemoryToImageKHR) + { + return layer_vkCmdCopyMemoryToImageKHR; + } + + return layer_vkCmdCopyMemoryToImageKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdCopyMemoryToMicromapEXT = requires( @@ -1725,6 +1901,28 @@ constexpr PFN_vkCmdCopyQueryPoolResults getLayerPtr_vkCmdCopyQueryPoolResults() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdCopyQueryPoolResultsToMemoryKHR = requires( + VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, const VkStridedDeviceAddressRangeKHR* pDstRange, VkAddressCommandFlagsKHR dstFlags, VkQueryResultFlags queryResultFlags +) { + layer_vkCmdCopyQueryPoolResultsToMemoryKHR(commandBuffer, queryPool, firstQuery, queryCount, pDstRange, dstFlags, queryResultFlags); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdCopyQueryPoolResultsToMemoryKHR getLayerPtr_vkCmdCopyQueryPoolResultsToMemoryKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdCopyQueryPoolResultsToMemoryKHR) + { + return layer_vkCmdCopyQueryPoolResultsToMemoryKHR; + } + + return layer_vkCmdCopyQueryPoolResultsToMemoryKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdCopyTensorARM = requires( @@ -1967,6 +2165,28 @@ constexpr PFN_vkCmdDispatchIndirect getLayerPtr_vkCmdDispatchIndirect() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDispatchIndirect2KHR = requires( + VkCommandBuffer commandBuffer, const VkDispatchIndirect2InfoKHR* pInfo +) { + layer_vkCmdDispatchIndirect2KHR(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDispatchIndirect2KHR getLayerPtr_vkCmdDispatchIndirect2KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDispatchIndirect2KHR) + { + return layer_vkCmdDispatchIndirect2KHR; + } + + return layer_vkCmdDispatchIndirect2KHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdDraw = requires( @@ -2033,6 +2253,28 @@ constexpr PFN_vkCmdDrawIndexedIndirect getLayerPtr_vkCmdDrawIndexedIndirect() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDrawIndexedIndirect2KHR = requires( + VkCommandBuffer commandBuffer, const VkDrawIndirect2InfoKHR* pInfo +) { + layer_vkCmdDrawIndexedIndirect2KHR(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDrawIndexedIndirect2KHR getLayerPtr_vkCmdDrawIndexedIndirect2KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDrawIndexedIndirect2KHR) + { + return layer_vkCmdDrawIndexedIndirect2KHR; + } + + return layer_vkCmdDrawIndexedIndirect2KHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdDrawIndexedIndirectCount = requires( @@ -2055,6 +2297,28 @@ constexpr PFN_vkCmdDrawIndexedIndirectCount getLayerPtr_vkCmdDrawIndexedIndirect }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDrawIndexedIndirectCount2KHR = requires( + VkCommandBuffer commandBuffer, const VkDrawIndirectCount2InfoKHR* pInfo +) { + layer_vkCmdDrawIndexedIndirectCount2KHR(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDrawIndexedIndirectCount2KHR getLayerPtr_vkCmdDrawIndexedIndirectCount2KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDrawIndexedIndirectCount2KHR) + { + return layer_vkCmdDrawIndexedIndirectCount2KHR; + } + + return layer_vkCmdDrawIndexedIndirectCount2KHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdDrawIndexedIndirectCountKHR = requires( @@ -2099,6 +2363,50 @@ constexpr PFN_vkCmdDrawIndirect getLayerPtr_vkCmdDrawIndirect() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDrawIndirect2KHR = requires( + VkCommandBuffer commandBuffer, const VkDrawIndirect2InfoKHR* pInfo +) { + layer_vkCmdDrawIndirect2KHR(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDrawIndirect2KHR getLayerPtr_vkCmdDrawIndirect2KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDrawIndirect2KHR) + { + return layer_vkCmdDrawIndirect2KHR; + } + + return layer_vkCmdDrawIndirect2KHR; + }.operator()(); +} + +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDrawIndirectByteCount2EXT = requires( + VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfo, uint32_t counterOffset, uint32_t vertexStride +) { + layer_vkCmdDrawIndirectByteCount2EXT(commandBuffer, instanceCount, firstInstance, pCounterInfo, counterOffset, vertexStride); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDrawIndirectByteCount2EXT getLayerPtr_vkCmdDrawIndirectByteCount2EXT() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDrawIndirectByteCount2EXT) + { + return layer_vkCmdDrawIndirectByteCount2EXT; + } + + return layer_vkCmdDrawIndirectByteCount2EXT; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdDrawIndirectByteCountEXT = requires( @@ -2143,6 +2451,28 @@ constexpr PFN_vkCmdDrawIndirectCount getLayerPtr_vkCmdDrawIndirectCount() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDrawIndirectCount2KHR = requires( + VkCommandBuffer commandBuffer, const VkDrawIndirectCount2InfoKHR* pInfo +) { + layer_vkCmdDrawIndirectCount2KHR(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDrawIndirectCount2KHR getLayerPtr_vkCmdDrawIndirectCount2KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDrawIndirectCount2KHR) + { + return layer_vkCmdDrawIndirectCount2KHR; + } + + return layer_vkCmdDrawIndirectCount2KHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdDrawIndirectCountKHR = requires( @@ -2187,6 +2517,50 @@ constexpr PFN_vkCmdDrawMeshTasksEXT getLayerPtr_vkCmdDrawMeshTasksEXT() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDrawMeshTasksIndirect2EXT = requires( + VkCommandBuffer commandBuffer, const VkDrawIndirect2InfoKHR* pInfo +) { + layer_vkCmdDrawMeshTasksIndirect2EXT(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDrawMeshTasksIndirect2EXT getLayerPtr_vkCmdDrawMeshTasksIndirect2EXT() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDrawMeshTasksIndirect2EXT) + { + return layer_vkCmdDrawMeshTasksIndirect2EXT; + } + + return layer_vkCmdDrawMeshTasksIndirect2EXT; + }.operator()(); +} + +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdDrawMeshTasksIndirectCount2EXT = requires( + VkCommandBuffer commandBuffer, const VkDrawIndirectCount2InfoKHR* pInfo +) { + layer_vkCmdDrawMeshTasksIndirectCount2EXT(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdDrawMeshTasksIndirectCount2EXT getLayerPtr_vkCmdDrawMeshTasksIndirectCount2EXT() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdDrawMeshTasksIndirectCount2EXT) + { + return layer_vkCmdDrawMeshTasksIndirectCount2EXT; + } + + return layer_vkCmdDrawMeshTasksIndirectCount2EXT; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdDrawMeshTasksIndirectCountEXT = requires( @@ -2539,6 +2913,28 @@ constexpr PFN_vkCmdEndShaderInstrumentationARM getLayerPtr_vkCmdEndShaderInstrum }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdEndTransformFeedback2EXT = requires( + VkCommandBuffer commandBuffer, uint32_t firstCounterRange, uint32_t counterRangeCount, const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos +) { + layer_vkCmdEndTransformFeedback2EXT(commandBuffer, firstCounterRange, counterRangeCount, pCounterInfos); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdEndTransformFeedback2EXT getLayerPtr_vkCmdEndTransformFeedback2EXT() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdEndTransformFeedback2EXT) + { + return layer_vkCmdEndTransformFeedback2EXT; + } + + return layer_vkCmdEndTransformFeedback2EXT; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdEndTransformFeedbackEXT = requires( @@ -2627,6 +3023,28 @@ constexpr PFN_vkCmdFillBuffer getLayerPtr_vkCmdFillBuffer() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdFillMemoryKHR = requires( + VkCommandBuffer commandBuffer, const VkDeviceAddressRangeKHR* pDstRange, VkAddressCommandFlagsKHR dstFlags, uint32_t data +) { + layer_vkCmdFillMemoryKHR(commandBuffer, pDstRange, dstFlags, data); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdFillMemoryKHR getLayerPtr_vkCmdFillMemoryKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdFillMemoryKHR) + { + return layer_vkCmdFillMemoryKHR; + } + + return layer_vkCmdFillMemoryKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdInsertDebugUtilsLabelEXT = requires( @@ -5399,6 +5817,28 @@ constexpr PFN_vkCmdUpdateBuffer getLayerPtr_vkCmdUpdateBuffer() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdUpdateMemoryKHR = requires( + VkCommandBuffer commandBuffer, const VkDeviceAddressRangeKHR* pDstRange, VkAddressCommandFlagsKHR dstFlags, VkDeviceSize dataSize, const void* pData +) { + layer_vkCmdUpdateMemoryKHR(commandBuffer, pDstRange, dstFlags, dataSize, pData); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdUpdateMemoryKHR getLayerPtr_vkCmdUpdateMemoryKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdUpdateMemoryKHR) + { + return layer_vkCmdUpdateMemoryKHR; + } + + return layer_vkCmdUpdateMemoryKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdWaitEvents = requires( @@ -5487,6 +5927,50 @@ constexpr PFN_vkCmdWriteAccelerationStructuresPropertiesKHR getLayerPtr_vkCmdWri }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdWriteBufferMarker2AMD = requires( + VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker +) { + layer_vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdWriteBufferMarker2AMD getLayerPtr_vkCmdWriteBufferMarker2AMD() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdWriteBufferMarker2AMD) + { + return layer_vkCmdWriteBufferMarker2AMD; + } + + return layer_vkCmdWriteBufferMarker2AMD; + }.operator()(); +} + +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCmdWriteMarkerToMemoryAMD = requires( + VkCommandBuffer commandBuffer, const VkMemoryMarkerInfoAMD* pInfo +) { + layer_vkCmdWriteMarkerToMemoryAMD(commandBuffer, pInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCmdWriteMarkerToMemoryAMD getLayerPtr_vkCmdWriteMarkerToMemoryAMD() +{ + return [] + { + if constexpr(hasLayerPtr_vkCmdWriteMarkerToMemoryAMD) + { + return layer_vkCmdWriteMarkerToMemoryAMD; + } + + return layer_vkCmdWriteMarkerToMemoryAMD; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCmdWriteMicromapsPropertiesEXT = requires( @@ -5839,6 +6323,28 @@ constexpr PFN_vkCopyMicromapToMemoryEXT getLayerPtr_vkCopyMicromapToMemoryEXT() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkCreateAccelerationStructure2KHR = requires( + VkDevice device, const VkAccelerationStructureCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure +) { + layer_vkCreateAccelerationStructure2KHR(device, pCreateInfo, pAllocator, pAccelerationStructure); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkCreateAccelerationStructure2KHR getLayerPtr_vkCreateAccelerationStructure2KHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkCreateAccelerationStructure2KHR) + { + return layer_vkCreateAccelerationStructure2KHR; + } + + return layer_vkCreateAccelerationStructure2KHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkCreateAccelerationStructureKHR = requires( @@ -8457,6 +8963,28 @@ constexpr PFN_vkGetDeviceBufferMemoryRequirementsKHR getLayerPtr_vkGetDeviceBuff }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkGetDeviceFaultDebugInfoKHR = requires( + VkDevice device, VkDeviceFaultDebugInfoKHR* pDebugInfo +) { + layer_vkGetDeviceFaultDebugInfoKHR(device, pDebugInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkGetDeviceFaultDebugInfoKHR getLayerPtr_vkGetDeviceFaultDebugInfoKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkGetDeviceFaultDebugInfoKHR) + { + return layer_vkGetDeviceFaultDebugInfoKHR; + } + + return layer_vkGetDeviceFaultDebugInfoKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkGetDeviceFaultInfoEXT = requires( @@ -8479,6 +9007,28 @@ constexpr PFN_vkGetDeviceFaultInfoEXT getLayerPtr_vkGetDeviceFaultInfoEXT() }.operator()(); } +/* Test for user_tag availability. */ +template +concept hasLayerPtr_vkGetDeviceFaultReportsKHR = requires( + VkDevice device, uint64_t timeout, uint32_t* pFaultCounts, VkDeviceFaultInfoKHR* pFaultInfo +) { + layer_vkGetDeviceFaultReportsKHR(device, timeout, pFaultCounts, pFaultInfo); +}; + +/* Function pointer resolution. */ +constexpr PFN_vkGetDeviceFaultReportsKHR getLayerPtr_vkGetDeviceFaultReportsKHR() +{ + return [] + { + if constexpr(hasLayerPtr_vkGetDeviceFaultReportsKHR) + { + return layer_vkGetDeviceFaultReportsKHR; + } + + return layer_vkGetDeviceFaultReportsKHR; + }.operator()(); +} + /* Test for user_tag availability. */ template concept hasLayerPtr_vkGetDeviceGroupPeerMemoryFeatures = requires( diff --git a/source_common/framework/instance_dispatch_table.hpp b/source_common/framework/instance_dispatch_table.hpp index 3bf831d..4dcd3c9 100644 --- a/source_common/framework/instance_dispatch_table.hpp +++ b/source_common/framework/instance_dispatch_table.hpp @@ -173,6 +173,7 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkBuildAccelerationStructuresKHR), ENTRY(vkBuildMicromapsEXT), ENTRY(vkClearShaderInstrumentationMetricsARM), + ENTRY(vkCmdBeginConditionalRendering2EXT), ENTRY(vkCmdBeginConditionalRenderingEXT), ENTRY(vkCmdBeginCustomResolveEXT), ENTRY(vkCmdBeginDebugUtilsLabelEXT), @@ -184,6 +185,7 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkCmdBeginRendering), ENTRY(vkCmdBeginRenderingKHR), ENTRY(vkCmdBeginShaderInstrumentationARM), + ENTRY(vkCmdBeginTransformFeedback2EXT), ENTRY(vkCmdBeginTransformFeedbackEXT), ENTRY(vkCmdBindDescriptorBufferEmbeddedSamplers2EXT), ENTRY(vkCmdBindDescriptorBufferEmbeddedSamplersEXT), @@ -194,14 +196,17 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkCmdBindIndexBuffer), ENTRY(vkCmdBindIndexBuffer2), ENTRY(vkCmdBindIndexBuffer2KHR), + ENTRY(vkCmdBindIndexBuffer3KHR), ENTRY(vkCmdBindPipeline), ENTRY(vkCmdBindResourceHeapEXT), ENTRY(vkCmdBindSamplerHeapEXT), ENTRY(vkCmdBindShadersEXT), + ENTRY(vkCmdBindTransformFeedbackBuffers2EXT), ENTRY(vkCmdBindTransformFeedbackBuffersEXT), ENTRY(vkCmdBindVertexBuffers), ENTRY(vkCmdBindVertexBuffers2), ENTRY(vkCmdBindVertexBuffers2EXT), + ENTRY(vkCmdBindVertexBuffers3KHR), ENTRY(vkCmdBlitImage), ENTRY(vkCmdBlitImage2), ENTRY(vkCmdBlitImage2KHR), @@ -225,13 +230,17 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkCmdCopyImageToBuffer), ENTRY(vkCmdCopyImageToBuffer2), ENTRY(vkCmdCopyImageToBuffer2KHR), + ENTRY(vkCmdCopyImageToMemoryKHR), ENTRY(vkCmdCopyMemoryIndirectKHR), + ENTRY(vkCmdCopyMemoryKHR), ENTRY(vkCmdCopyMemoryToAccelerationStructureKHR), ENTRY(vkCmdCopyMemoryToImageIndirectKHR), + ENTRY(vkCmdCopyMemoryToImageKHR), ENTRY(vkCmdCopyMemoryToMicromapEXT), ENTRY(vkCmdCopyMicromapEXT), ENTRY(vkCmdCopyMicromapToMemoryEXT), ENTRY(vkCmdCopyQueryPoolResults), + ENTRY(vkCmdCopyQueryPoolResultsToMemoryKHR), ENTRY(vkCmdCopyTensorARM), ENTRY(vkCmdDebugMarkerBeginEXT), ENTRY(vkCmdDebugMarkerEndEXT), @@ -243,16 +252,24 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkCmdDispatchBaseKHR), ENTRY(vkCmdDispatchDataGraphARM), ENTRY(vkCmdDispatchIndirect), + ENTRY(vkCmdDispatchIndirect2KHR), ENTRY(vkCmdDraw), ENTRY(vkCmdDrawIndexed), ENTRY(vkCmdDrawIndexedIndirect), + ENTRY(vkCmdDrawIndexedIndirect2KHR), ENTRY(vkCmdDrawIndexedIndirectCount), + ENTRY(vkCmdDrawIndexedIndirectCount2KHR), ENTRY(vkCmdDrawIndexedIndirectCountKHR), ENTRY(vkCmdDrawIndirect), + ENTRY(vkCmdDrawIndirect2KHR), + ENTRY(vkCmdDrawIndirectByteCount2EXT), ENTRY(vkCmdDrawIndirectByteCountEXT), ENTRY(vkCmdDrawIndirectCount), + ENTRY(vkCmdDrawIndirectCount2KHR), ENTRY(vkCmdDrawIndirectCountKHR), ENTRY(vkCmdDrawMeshTasksEXT), + ENTRY(vkCmdDrawMeshTasksIndirect2EXT), + ENTRY(vkCmdDrawMeshTasksIndirectCount2EXT), ENTRY(vkCmdDrawMeshTasksIndirectCountEXT), ENTRY(vkCmdDrawMeshTasksIndirectEXT), ENTRY(vkCmdDrawMultiEXT), @@ -269,10 +286,12 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkCmdEndRendering2KHR), ENTRY(vkCmdEndRenderingKHR), ENTRY(vkCmdEndShaderInstrumentationARM), + ENTRY(vkCmdEndTransformFeedback2EXT), ENTRY(vkCmdEndTransformFeedbackEXT), ENTRY(vkCmdExecuteCommands), ENTRY(vkCmdExecuteGeneratedCommandsEXT), ENTRY(vkCmdFillBuffer), + ENTRY(vkCmdFillMemoryKHR), ENTRY(vkCmdInsertDebugUtilsLabelEXT), ENTRY(vkCmdNextSubpass), ENTRY(vkCmdNextSubpass2), @@ -399,10 +418,13 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkCmdTraceRaysIndirectKHR), ENTRY(vkCmdTraceRaysKHR), ENTRY(vkCmdUpdateBuffer), + ENTRY(vkCmdUpdateMemoryKHR), ENTRY(vkCmdWaitEvents), ENTRY(vkCmdWaitEvents2), ENTRY(vkCmdWaitEvents2KHR), ENTRY(vkCmdWriteAccelerationStructuresPropertiesKHR), + ENTRY(vkCmdWriteBufferMarker2AMD), + ENTRY(vkCmdWriteMarkerToMemoryAMD), ENTRY(vkCmdWriteMicromapsPropertiesEXT), ENTRY(vkCmdWriteTimestamp), ENTRY(vkCmdWriteTimestamp2), @@ -419,6 +441,7 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkCopyMemoryToMicromapEXT), ENTRY(vkCopyMicromapEXT), ENTRY(vkCopyMicromapToMemoryEXT), + ENTRY(vkCreateAccelerationStructure2KHR), ENTRY(vkCreateAccelerationStructureKHR), ENTRY(vkCreateBuffer), ENTRY(vkCreateBufferView), @@ -538,7 +561,9 @@ static const struct InstanceInterceptTableEntry instanceIntercepts[] = { ENTRY(vkGetDeviceAccelerationStructureCompatibilityKHR), ENTRY(vkGetDeviceBufferMemoryRequirements), ENTRY(vkGetDeviceBufferMemoryRequirementsKHR), + ENTRY(vkGetDeviceFaultDebugInfoKHR), ENTRY(vkGetDeviceFaultInfoEXT), + ENTRY(vkGetDeviceFaultReportsKHR), ENTRY(vkGetDeviceGroupPeerMemoryFeatures), ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR), ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR), diff --git a/source_third_party/khronos/vulkan b/source_third_party/khronos/vulkan index 74d8a6c..387259e 160000 --- a/source_third_party/khronos/vulkan +++ b/source_third_party/khronos/vulkan @@ -1 +1 @@ -Subproject commit 74d8a6cb930c68ef617b202c3ff3c59d919e086b +Subproject commit 387259ecf4b0fe0cfac161b1d0b0a74e42796710 diff --git a/source_third_party/khronos/vulkan-utilities b/source_third_party/khronos/vulkan-utilities index 54c9baf..9b9b0a0 160000 --- a/source_third_party/khronos/vulkan-utilities +++ b/source_third_party/khronos/vulkan-utilities @@ -1 +1 @@ -Subproject commit 54c9baf20802a13279e23fa4cb0528dd5cf16064 +Subproject commit 9b9b0a04b36344a85705fe30f52e6f7aa59a9001