Update for Vulkan-Docs 1.3.298

This commit is contained in:
Jon Leech 2024-10-11 01:34:23 -07:00
parent 14345dab23
commit 17a0b8ecf6
13 changed files with 1611 additions and 1041 deletions

View file

@ -63,7 +63,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <span>
#endif
static_assert( VK_HEADER_VERSION == 297, "Wrong VK_HEADER_VERSION!" );
static_assert( VK_HEADER_VERSION == 298, "Wrong VK_HEADER_VERSION!" );
// <tuple> includes <sys/sysmacros.h> through some other header
// this results in major(x) being resolved to gnu_dev_major(x)
@ -3632,28 +3632,36 @@ namespace VULKAN_HPP_NAMESPACE
return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
}
void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT
void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer,
VkPipeline executionGraph,
VkDeviceAddress scratch,
VkDeviceSize scratchSize ) const VULKAN_HPP_NOEXCEPT
{
return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, scratch );
return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, executionGraph, scratch, scratchSize );
}
void vkCmdDispatchGraphAMDX( VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
{
return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, pCountInfo );
return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, scratchSize, pCountInfo );
}
void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
{
return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, pCountInfo );
return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, scratchSize, pCountInfo );
}
void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
{
return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, countInfo );
return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, scratchSize, countInfo );
}
# endif /*VK_ENABLE_BETA_EXTENSIONS*/

View file

@ -53,13 +53,14 @@ typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
// VK_AMDX_shader_enqueue is a preprocessor guard. Do not pass it to API calls.
#define VK_AMDX_shader_enqueue 1
#define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 1
#define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 2
#define VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME "VK_AMDX_shader_enqueue"
#define VK_SHADER_INDEX_UNUSED_AMDX (~0U)
typedef struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
VkStructureType sType;
void* pNext;
VkBool32 shaderEnqueue;
VkBool32 shaderMeshEnqueue;
} VkPhysicalDeviceShaderEnqueueFeaturesAMDX;
typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
@ -70,12 +71,16 @@ typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
uint32_t maxExecutionGraphShaderPayloadSize;
uint32_t maxExecutionGraphShaderPayloadCount;
uint32_t executionGraphDispatchAddressAlignment;
uint32_t maxExecutionGraphWorkgroupCount[3];
uint32_t maxExecutionGraphWorkgroups;
} VkPhysicalDeviceShaderEnqueuePropertiesAMDX;
typedef struct VkExecutionGraphPipelineScratchSizeAMDX {
VkStructureType sType;
void* pNext;
VkDeviceSize size;
VkDeviceSize minSize;
VkDeviceSize maxSize;
VkDeviceSize sizeGranularity;
} VkExecutionGraphPipelineScratchSizeAMDX;
typedef struct VkExecutionGraphPipelineCreateInfoAMDX {
@ -116,12 +121,12 @@ typedef struct VkPipelineShaderStageNodeCreateInfoAMDX {
} VkPipelineShaderStageNodeCreateInfoAMDX;
typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch);
typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo);
typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo);
typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo);
typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkPipeline executionGraph, VkDeviceAddress scratch, VkDeviceSize scratchSize);
typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, VkDeviceAddress countInfo);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX(
@ -145,21 +150,26 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX(
VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch);
VkPipeline executionGraph,
VkDeviceAddress scratch,
VkDeviceSize scratchSize);
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX* pCountInfo);
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX* pCountInfo);
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
VkDeviceAddress countInfo);
#endif

View file

@ -69,7 +69,7 @@ extern "C" {
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
#define VK_HEADER_VERSION 297
#define VK_HEADER_VERSION 298
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@ -11198,6 +11198,9 @@ typedef VkFlags64 VkPipelineCreateFlagBits2KHR;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL;
#ifdef VK_ENABLE_BETA_EXTENSIONS
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX = 0x100000000ULL;
#endif
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL;
@ -11243,7 +11246,9 @@ static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL;
#ifdef VK_ENABLE_BETA_EXTENSIONS
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL;
#endif
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL;
@ -19641,7 +19646,7 @@ typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
typedef struct VkGeneratedCommandsMemoryRequirementsInfoEXT {
VkStructureType sType;
void* pNext;
const void* pNext;
VkIndirectExecutionSetEXT indirectExecutionSet;
VkIndirectCommandsLayoutEXT indirectCommandsLayout;
uint32_t maxSequenceCount;

View file

@ -7025,9 +7025,12 @@ namespace VULKAN_HPP_NAMESPACE
enum class PipelineCreateFlagBits2KHR : VkPipelineCreateFlags2KHR
{
eDisableOptimization = VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR,
eAllowDerivatives = VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR,
eDerivative = VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR,
eDisableOptimization = VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR,
eAllowDerivatives = VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR,
eDerivative = VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR,
#if defined( VK_ENABLE_BETA_EXTENSIONS )
eExecutionGraphAMDX = VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX,
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
eEnableLegacyDitheringEXT = VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT,
eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
eDispatchBase = VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR,
@ -7068,8 +7071,11 @@ namespace VULKAN_HPP_NAMESPACE
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags2KHR allFlags =
PipelineCreateFlagBits2KHR::eDisableOptimization | PipelineCreateFlagBits2KHR::eAllowDerivatives | PipelineCreateFlagBits2KHR::eDerivative |
PipelineCreateFlagBits2KHR::eEnableLegacyDitheringEXT | PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex |
PipelineCreateFlagBits2KHR::eDisableOptimization | PipelineCreateFlagBits2KHR::eAllowDerivatives | PipelineCreateFlagBits2KHR::eDerivative
#if defined( VK_ENABLE_BETA_EXTENSIONS )
| PipelineCreateFlagBits2KHR::eExecutionGraphAMDX
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
| PipelineCreateFlagBits2KHR::eEnableLegacyDitheringEXT | PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex |
PipelineCreateFlagBits2KHR::eDispatchBase | PipelineCreateFlagBits2KHR::eDeferCompileNV | PipelineCreateFlagBits2KHR::eCaptureStatistics |
PipelineCreateFlagBits2KHR::eCaptureInternalRepresentations | PipelineCreateFlagBits2KHR::eFailOnPipelineCompileRequired |
PipelineCreateFlagBits2KHR::eEarlyReturnOnFailure | PipelineCreateFlagBits2KHR::eLinkTimeOptimizationEXT |

View file

@ -993,17 +993,15 @@ namespace VULKAN_HPP_NAMESPACE
#if defined( VK_ENABLE_BETA_EXTENSIONS )
{ "VK_AMDX_shader_enqueue",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1",
{ {
"VK_KHR_synchronization2",
"VK_KHR_spirv_1_4",
"VK_EXT_extended_dynamic_state",
} } },
{ "VK_VERSION_1_3",
{ {
"VK_KHR_maintenance5",
"VK_KHR_pipeline_library",
"VK_KHR_spirv_1_4",
} } } } },
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
{ "VK_EXT_inline_uniform_block",

File diff suppressed because it is too large Load diff

View file

@ -6078,33 +6078,40 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_AMDX_shader_enqueue ===
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
void initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
void initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph,
VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
void dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
# ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
void dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
# endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
void dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
# ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
void dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
# endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
void dispatchGraphIndirectCountAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
VULKAN_HPP_NAMESPACE::DeviceAddress countInfo,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
#endif /*VK_ENABLE_BETA_EXTENSIONS*/

View file

@ -4626,7 +4626,9 @@ namespace std
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, executionGraphPipelineScratchSizeAMDX.sType );
VULKAN_HPP_HASH_COMBINE( seed, executionGraphPipelineScratchSizeAMDX.pNext );
VULKAN_HPP_HASH_COMBINE( seed, executionGraphPipelineScratchSizeAMDX.size );
VULKAN_HPP_HASH_COMBINE( seed, executionGraphPipelineScratchSizeAMDX.minSize );
VULKAN_HPP_HASH_COMBINE( seed, executionGraphPipelineScratchSizeAMDX.maxSize );
VULKAN_HPP_HASH_COMBINE( seed, executionGraphPipelineScratchSizeAMDX.sizeGranularity );
return seed;
}
};
@ -11865,6 +11867,7 @@ namespace std
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueueFeaturesAMDX.sType );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueueFeaturesAMDX.pNext );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueueFeaturesAMDX.shaderEnqueue );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueueFeaturesAMDX.shaderMeshEnqueue );
return seed;
}
};
@ -11885,6 +11888,11 @@ namespace std
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueuePropertiesAMDX.maxExecutionGraphShaderPayloadSize );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueuePropertiesAMDX.maxExecutionGraphShaderPayloadCount );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueuePropertiesAMDX.executionGraphDispatchAddressAlignment );
for ( size_t i = 0; i < 3; ++i )
{
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueuePropertiesAMDX.maxExecutionGraphWorkgroupCount[i] );
}
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEnqueuePropertiesAMDX.maxExecutionGraphWorkgroups );
return seed;
}
};

View file

@ -5947,15 +5947,20 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VK_ENABLE_BETA_EXTENSIONS )
//=== VK_AMDX_shader_enqueue ===
void initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT;
void initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph,
VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize ) const VULKAN_HPP_NOEXCEPT;
void dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT;
void dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT;
void dispatchGraphIndirectCountAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
VULKAN_HPP_NAMESPACE::DeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT;
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
@ -18376,43 +18381,55 @@ namespace VULKAN_HPP_NAMESPACE
return nodeIndex;
}
VULKAN_HPP_INLINE void CommandBuffer::initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_INLINE void CommandBuffer::initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph,
VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdInitializeGraphScratchMemoryAMDX &&
"Function <vkCmdInitializeGraphScratchMemoryAMDX> requires <VK_AMDX_shader_enqueue>" );
getDispatcher()->vkCmdInitializeGraphScratchMemoryAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkDeviceAddress>( scratch ) );
getDispatcher()->vkCmdInitializeGraphScratchMemoryAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ),
static_cast<VkPipeline>( executionGraph ),
static_cast<VkDeviceAddress>( scratch ),
static_cast<VkDeviceSize>( scratchSize ) );
}
VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchGraphAMDX && "Function <vkCmdDispatchGraphAMDX> requires <VK_AMDX_shader_enqueue>" );
getDispatcher()->vkCmdDispatchGraphAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ),
static_cast<VkDeviceAddress>( scratch ),
static_cast<VkDeviceSize>( scratchSize ),
reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( &countInfo ) );
}
VULKAN_HPP_INLINE void
CommandBuffer::dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchGraphIndirectAMDX && "Function <vkCmdDispatchGraphIndirectAMDX> requires <VK_AMDX_shader_enqueue>" );
getDispatcher()->vkCmdDispatchGraphIndirectAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ),
static_cast<VkDeviceAddress>( scratch ),
static_cast<VkDeviceSize>( scratchSize ),
reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( &countInfo ) );
}
VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectCountAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,
VULKAN_HPP_NAMESPACE::DeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchGraphIndirectCountAMDX &&
"Function <vkCmdDispatchGraphIndirectCountAMDX> requires <VK_AMDX_shader_enqueue>" );
getDispatcher()->vkCmdDispatchGraphIndirectCountAMDX(
static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkDeviceAddress>( scratch ), static_cast<VkDeviceAddress>( countInfo ) );
getDispatcher()->vkCmdDispatchGraphIndirectCountAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ),
static_cast<VkDeviceAddress>( scratch ),
static_cast<VkDeviceSize>( scratchSize ),
static_cast<VkDeviceAddress>( countInfo ) );
}
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
@ -21566,8 +21583,9 @@ namespace VULKAN_HPP_NAMESPACE
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT(
m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT( static_cast<VkDevice>( m_device ),
reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ),
reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
}
# if defined( VK_USE_PLATFORM_WIN32_KHR )
//=== VK_NV_acquire_winrt_display ===

View file

@ -34505,9 +34505,14 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExecutionGraphPipelineScratchSizeAMDX;
# if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR ExecutionGraphPipelineScratchSizeAMDX( VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExecutionGraphPipelineScratchSizeAMDX( VULKAN_HPP_NAMESPACE::DeviceSize minSize_ = {},
VULKAN_HPP_NAMESPACE::DeviceSize maxSize_ = {},
VULKAN_HPP_NAMESPACE::DeviceSize sizeGranularity_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, size{ size_ }
, minSize{ minSize_ }
, maxSize{ maxSize_ }
, sizeGranularity{ sizeGranularity_ }
{
}
@ -34534,9 +34539,21 @@ namespace VULKAN_HPP_NAMESPACE
return *this;
}
VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setMinSize( VULKAN_HPP_NAMESPACE::DeviceSize minSize_ ) VULKAN_HPP_NOEXCEPT
{
size = size_;
minSize = minSize_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setMaxSize( VULKAN_HPP_NAMESPACE::DeviceSize maxSize_ ) VULKAN_HPP_NOEXCEPT
{
maxSize = maxSize_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setSizeGranularity( VULKAN_HPP_NAMESPACE::DeviceSize sizeGranularity_ ) VULKAN_HPP_NOEXCEPT
{
sizeGranularity = sizeGranularity_;
return *this;
}
# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
@ -34555,11 +34572,15 @@ namespace VULKAN_HPP_NAMESPACE
# if 14 <= VULKAN_HPP_CPP_VERSION
auto
# else
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
void * const &,
VULKAN_HPP_NAMESPACE::DeviceSize const &,
VULKAN_HPP_NAMESPACE::DeviceSize const &,
VULKAN_HPP_NAMESPACE::DeviceSize const &>
# endif
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, size );
return std::tie( sType, pNext, minSize, maxSize, sizeGranularity );
}
# endif
@ -34571,7 +34592,8 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( size == rhs.size );
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minSize == rhs.minSize ) && ( maxSize == rhs.maxSize ) &&
( sizeGranularity == rhs.sizeGranularity );
# endif
}
@ -34582,9 +34604,11 @@ namespace VULKAN_HPP_NAMESPACE
# endif
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExecutionGraphPipelineScratchSizeAMDX;
void * pNext = {};
VULKAN_HPP_NAMESPACE::DeviceSize size = {};
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExecutionGraphPipelineScratchSizeAMDX;
void * pNext = {};
VULKAN_HPP_NAMESPACE::DeviceSize minSize = {};
VULKAN_HPP_NAMESPACE::DeviceSize maxSize = {};
VULKAN_HPP_NAMESPACE::DeviceSize sizeGranularity = {};
};
template <>
@ -39792,7 +39816,7 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout_ = {},
uint32_t maxSequenceCount_ = {},
uint32_t maxDrawCount_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, indirectExecutionSet{ indirectExecutionSet_ }
, indirectCommandsLayout{ indirectCommandsLayout_ }
@ -39818,7 +39842,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
@ -39866,7 +39890,7 @@ namespace VULKAN_HPP_NAMESPACE
auto
# else
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
void * const &,
const void * const &,
VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT const &,
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT const &,
uint32_t const &,
@ -39899,7 +39923,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeneratedCommandsMemoryRequirementsInfoEXT;
void * pNext = {};
const void * pNext = {};
VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet = {};
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout = {};
uint32_t maxSequenceCount = {};
@ -87116,10 +87140,12 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderEnqueueFeaturesAMDX;
# if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderEnqueueFeaturesAMDX( VULKAN_HPP_NAMESPACE::Bool32 shaderEnqueue_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderEnqueueFeaturesAMDX( VULKAN_HPP_NAMESPACE::Bool32 shaderEnqueue_ = {},
VULKAN_HPP_NAMESPACE::Bool32 shaderMeshEnqueue_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, shaderEnqueue{ shaderEnqueue_ }
, shaderMeshEnqueue{ shaderMeshEnqueue_ }
{
}
@ -87151,6 +87177,13 @@ namespace VULKAN_HPP_NAMESPACE
shaderEnqueue = shaderEnqueue_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderEnqueueFeaturesAMDX &
setShaderMeshEnqueue( VULKAN_HPP_NAMESPACE::Bool32 shaderMeshEnqueue_ ) VULKAN_HPP_NOEXCEPT
{
shaderMeshEnqueue = shaderMeshEnqueue_;
return *this;
}
# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
operator VkPhysicalDeviceShaderEnqueueFeaturesAMDX const &() const VULKAN_HPP_NOEXCEPT
@ -87167,11 +87200,11 @@ namespace VULKAN_HPP_NAMESPACE
# if 14 <= VULKAN_HPP_CPP_VERSION
auto
# else
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
# endif
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, shaderEnqueue );
return std::tie( sType, pNext, shaderEnqueue, shaderMeshEnqueue );
}
# endif
@ -87183,7 +87216,7 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderEnqueue == rhs.shaderEnqueue );
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderEnqueue == rhs.shaderEnqueue ) && ( shaderMeshEnqueue == rhs.shaderMeshEnqueue );
# endif
}
@ -87194,9 +87227,10 @@ namespace VULKAN_HPP_NAMESPACE
# endif
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderEnqueueFeaturesAMDX;
void * pNext = {};
VULKAN_HPP_NAMESPACE::Bool32 shaderEnqueue = {};
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderEnqueueFeaturesAMDX;
void * pNext = {};
VULKAN_HPP_NAMESPACE::Bool32 shaderEnqueue = {};
VULKAN_HPP_NAMESPACE::Bool32 shaderMeshEnqueue = {};
};
template <>
@ -87215,22 +87249,26 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderEnqueuePropertiesAMDX;
# if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderEnqueuePropertiesAMDX( uint32_t maxExecutionGraphDepth_ = {},
uint32_t maxExecutionGraphShaderOutputNodes_ = {},
uint32_t maxExecutionGraphShaderPayloadSize_ = {},
uint32_t maxExecutionGraphShaderPayloadCount_ = {},
uint32_t executionGraphDispatchAddressAlignment_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderEnqueuePropertiesAMDX( uint32_t maxExecutionGraphDepth_ = {},
uint32_t maxExecutionGraphShaderOutputNodes_ = {},
uint32_t maxExecutionGraphShaderPayloadSize_ = {},
uint32_t maxExecutionGraphShaderPayloadCount_ = {},
uint32_t executionGraphDispatchAddressAlignment_ = {},
std::array<uint32_t, 3> const & maxExecutionGraphWorkgroupCount_ = {},
uint32_t maxExecutionGraphWorkgroups_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, maxExecutionGraphDepth{ maxExecutionGraphDepth_ }
, maxExecutionGraphShaderOutputNodes{ maxExecutionGraphShaderOutputNodes_ }
, maxExecutionGraphShaderPayloadSize{ maxExecutionGraphShaderPayloadSize_ }
, maxExecutionGraphShaderPayloadCount{ maxExecutionGraphShaderPayloadCount_ }
, executionGraphDispatchAddressAlignment{ executionGraphDispatchAddressAlignment_ }
, maxExecutionGraphWorkgroupCount{ maxExecutionGraphWorkgroupCount_ }
, maxExecutionGraphWorkgroups{ maxExecutionGraphWorkgroups_ }
{
}
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderEnqueuePropertiesAMDX( PhysicalDeviceShaderEnqueuePropertiesAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderEnqueuePropertiesAMDX( PhysicalDeviceShaderEnqueuePropertiesAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
PhysicalDeviceShaderEnqueuePropertiesAMDX( VkPhysicalDeviceShaderEnqueuePropertiesAMDX const & rhs ) VULKAN_HPP_NOEXCEPT
: PhysicalDeviceShaderEnqueuePropertiesAMDX( *reinterpret_cast<PhysicalDeviceShaderEnqueuePropertiesAMDX const *>( &rhs ) )
@ -87286,6 +87324,20 @@ namespace VULKAN_HPP_NAMESPACE
executionGraphDispatchAddressAlignment = executionGraphDispatchAddressAlignment_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderEnqueuePropertiesAMDX &
setMaxExecutionGraphWorkgroupCount( std::array<uint32_t, 3> maxExecutionGraphWorkgroupCount_ ) VULKAN_HPP_NOEXCEPT
{
maxExecutionGraphWorkgroupCount = maxExecutionGraphWorkgroupCount_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderEnqueuePropertiesAMDX &
setMaxExecutionGraphWorkgroups( uint32_t maxExecutionGraphWorkgroups_ ) VULKAN_HPP_NOEXCEPT
{
maxExecutionGraphWorkgroups = maxExecutionGraphWorkgroups_;
return *this;
}
# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
operator VkPhysicalDeviceShaderEnqueuePropertiesAMDX const &() const VULKAN_HPP_NOEXCEPT
@ -87308,6 +87360,8 @@ namespace VULKAN_HPP_NAMESPACE
uint32_t const &,
uint32_t const &,
uint32_t const &,
uint32_t const &,
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> const &,
uint32_t const &>
# endif
reflect() const VULKAN_HPP_NOEXCEPT
@ -87318,7 +87372,9 @@ namespace VULKAN_HPP_NAMESPACE
maxExecutionGraphShaderOutputNodes,
maxExecutionGraphShaderPayloadSize,
maxExecutionGraphShaderPayloadCount,
executionGraphDispatchAddressAlignment );
executionGraphDispatchAddressAlignment,
maxExecutionGraphWorkgroupCount,
maxExecutionGraphWorkgroups );
}
# endif
@ -87334,7 +87390,8 @@ namespace VULKAN_HPP_NAMESPACE
( maxExecutionGraphShaderOutputNodes == rhs.maxExecutionGraphShaderOutputNodes ) &&
( maxExecutionGraphShaderPayloadSize == rhs.maxExecutionGraphShaderPayloadSize ) &&
( maxExecutionGraphShaderPayloadCount == rhs.maxExecutionGraphShaderPayloadCount ) &&
( executionGraphDispatchAddressAlignment == rhs.executionGraphDispatchAddressAlignment );
( executionGraphDispatchAddressAlignment == rhs.executionGraphDispatchAddressAlignment ) &&
( maxExecutionGraphWorkgroupCount == rhs.maxExecutionGraphWorkgroupCount ) && ( maxExecutionGraphWorkgroups == rhs.maxExecutionGraphWorkgroups );
# endif
}
@ -87345,13 +87402,15 @@ namespace VULKAN_HPP_NAMESPACE
# endif
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderEnqueuePropertiesAMDX;
void * pNext = {};
uint32_t maxExecutionGraphDepth = {};
uint32_t maxExecutionGraphShaderOutputNodes = {};
uint32_t maxExecutionGraphShaderPayloadSize = {};
uint32_t maxExecutionGraphShaderPayloadCount = {};
uint32_t executionGraphDispatchAddressAlignment = {};
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderEnqueuePropertiesAMDX;
void * pNext = {};
uint32_t maxExecutionGraphDepth = {};
uint32_t maxExecutionGraphShaderOutputNodes = {};
uint32_t maxExecutionGraphShaderPayloadSize = {};
uint32_t maxExecutionGraphShaderPayloadCount = {};
uint32_t executionGraphDispatchAddressAlignment = {};
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxExecutionGraphWorkgroupCount = {};
uint32_t maxExecutionGraphWorkgroups = {};
};
template <>

View file

@ -3385,6 +3385,10 @@ namespace VULKAN_HPP_NAMESPACE
result += "AllowDerivatives | ";
if ( value & PipelineCreateFlagBits2KHR::eDerivative )
result += "Derivative | ";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
if ( value & PipelineCreateFlagBits2KHR::eExecutionGraphAMDX )
result += "ExecutionGraphAMDX | ";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
if ( value & PipelineCreateFlagBits2KHR::eEnableLegacyDitheringEXT )
result += "EnableLegacyDitheringEXT | ";
if ( value & PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex )
@ -8919,6 +8923,9 @@ namespace VULKAN_HPP_NAMESPACE
case PipelineCreateFlagBits2KHR::eDisableOptimization: return "DisableOptimization";
case PipelineCreateFlagBits2KHR::eAllowDerivatives: return "AllowDerivatives";
case PipelineCreateFlagBits2KHR::eDerivative: return "Derivative";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
case PipelineCreateFlagBits2KHR::eExecutionGraphAMDX: return "ExecutionGraphAMDX";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
case PipelineCreateFlagBits2KHR::eEnableLegacyDitheringEXT: return "EnableLegacyDitheringEXT";
case PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex: return "ViewIndexFromDeviceIndex";
case PipelineCreateFlagBits2KHR::eDispatchBase: return "DispatchBase";

View file

@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
"api version": "1.3.297",
"comment": "from git branch: github-main commit: 4f8b03b46334ca0abb992b3d7e38ea90f4f68a23",
"date": "2024-10-04 12:37:52Z"
"api version": "1.3.298",
"comment": "from git branch: github-main commit: 05d5444cce55e340e07ead87d552407da5ea8771",
"date": "2024-10-11 07:51:42Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@ -15820,6 +15820,31 @@
"text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, the <code>stippledLineEnable</code> member of <a href=\"#VkPipelineRasterizationLineStateCreateInfoKHR\">VkPipelineRasterizationLineStateCreateInfoKHR</a> is <code>VK_TRUE</code>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_LINE_STIPPLE_EXT</code>, then the <code>lineStippleFactor</code> member of <a href=\"#VkPipelineRasterizationLineStateCreateInfoKHR\">VkPipelineRasterizationLineStateCreateInfoKHR</a> <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[1,256]</span>",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-shaderMeshEnqueue-10187",
"text": "If <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code></a> is not enabled, shaders specified by <code>pStages</code> <strong class=\"purple\">must</strong> not declare the <code>ShaderEnqueueAMDX</code> capability",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-10188",
"text": "If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, shaders specified by <code>pStages</code> <strong class=\"purple\">must</strong> not declare the <code>ShaderEnqueueAMDX</code> capability",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-10189",
"text": "If any shader stages in <code>pStages</code> declare the <code>ShaderEnqueueAMDX</code> capability, <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> and <code>VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR</code> <strong class=\"purple\">must</strong> be included in <code>flags</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-10190",
"text": "If <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> is included in <code>flags</code>, and the pipeline requires <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, there <strong class=\"purple\">must</strong> not be a task or vertex shader specified in <code>pStages</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-10191",
"text": "If <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> is included in <code>flags</code>, all elements of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-03372",
"text": "<code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>",
@ -16377,12 +16402,12 @@
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-graphicsPipelineLibrary-06606",
"text": "If the <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
"text": "If the <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature is not enabled, and if the <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06608",
"text": "If the pipeline defines, or includes as libraries, all the state subsets required for a <a href=\"#pipelines-graphics-subsets-complete\">complete graphics pipeline</a>, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
"text": "If <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code> feature</a> is not enabled, and the pipeline is being created with <a href=\"#pipelines-graphics-subsets-complete\">all possible state subsets</a>, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
"page": "vkspec"
},
{
@ -77604,7 +77629,7 @@
},
{
"vuid": "VUID-VkIndirectCommandsLayoutTokenEXT-pPushConstant-parameter",
"text": "If <code>type</code> is <code>VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT</code>, the <code>pPushConstant</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkIndirectCommandsPushConstantTokenEXT\">VkIndirectCommandsPushConstantTokenEXT</a> structure",
"text": "If <code>type</code> is <code>VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT</code>,VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT, the <code>pPushConstant</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkIndirectCommandsPushConstantTokenEXT\">VkIndirectCommandsPushConstantTokenEXT</a> structure",
"page": "vkspec"
},
{
@ -97098,7 +97123,22 @@
},
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-09133",
"text": "If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of <code>pLibraryInfo-&gt;libraries</code> <strong class=\"purple\">must</strong> be either a compute pipeline or an execution graph pipeline",
"text": "If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of <code>pLibraryInfo-&gt;pLibraries</code> <strong class=\"purple\">must</strong> be either a compute pipeline, an execution graph pipeline, or a graphics pipeline",
"page": "vkspec"
},
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-10181",
"text": "If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of <code>pLibraryInfo-&gt;pLibraries</code> that is a compute pipeline or a graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> set",
"page": "vkspec"
},
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-shaderMeshEnqueue-10182",
"text": "If the <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code></a> feature is not enabled, and <code>pLibraryInfo-&gt;pLibraries</code> is not <code>NULL</code>, <code>pLibraryInfo-&gt;pLibraries</code> <strong class=\"purple\">must</strong> not contain any graphics pipelines",
"page": "vkspec"
},
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-10183",
"text": "Any element of <code>pLibraryInfo-&gt;pLibraries</code> identifying a graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#pipelines-graphics-subsets-complete\">all possible state subsets</a>",
"page": "vkspec"
},
{
@ -97131,6 +97171,11 @@
"text": "If an output payload declared in any shader in the pipeline has a <code>PayloadNodeNameAMDX</code> decoration with a <code>Node</code> <code>Name</code> that matches the shader name of any other node in the graph, the size of the output payload <strong class=\"purple\">must</strong> match the size of the input payload in the matching node",
"page": "vkspec"
},
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-10184",
"text": "If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, and an output payload declared in any shader in the pipeline does not have a <code>PayloadNodeSparseArrayAMDX</code> decoration, there <strong class=\"purple\">must</strong> be a node in the graph corresponding to every index from 0 to its <code>PayloadNodeArraySizeAMDX</code> decoration",
"page": "vkspec"
},
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX</code>",
@ -97262,8 +97307,13 @@
"vkCmdInitializeGraphScratchMemoryAMDX": {
"core": [
{
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-09143",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-10185",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratchSize-10186",
"text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@ -97276,6 +97326,11 @@
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-executionGraph-parameter",
"text": "<code>executionGraph</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-recording",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
@ -97286,11 +97341,6 @@
"text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-renderpass",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
@ -97300,6 +97350,11 @@
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-bufferlevel",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary <code>VkCommandBuffer</code>",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-commonparent",
"text": "Both of <code>commandBuffer</code>, and <code>executionGraph</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
"page": "vkspec"
}
]
},
@ -97661,8 +97716,13 @@
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-09183",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-10192",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-scratchSize-10193",
"text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@ -97671,8 +97731,8 @@
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-09185",
"text": "Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-10194",
"text": "The device memory range [<code>scratch</code>,<code>scratch</code><br> <code>scratchSize</code>] <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"page": "vkspec"
},
{
@ -97690,6 +97750,11 @@
"text": "Execution of this command <strong class=\"purple\">must</strong> not cause any shader that declares <code>NodeMaxPayloadsAMDX</code> to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each <code>NodeMaxPayloadsAMDX</code> decoration separately",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-None-10195",
"text": "If the currently bound execution graph pipeline includes draw nodes, this command <strong class=\"purple\">must</strong> be called within a render pass instance that is compatible with the graphics pipeline used to create each of those nodes",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-pCountInfo-09145",
"text": "<code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a host pointer to a memory allocation at least as large as the product of <code>count</code> and <code>stride</code>",
@ -97735,11 +97800,6 @@
"text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-renderpass",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
@ -98110,8 +98170,13 @@
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09183",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-10192",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratchSize-10193",
"text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@ -98120,8 +98185,8 @@
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09185",
"text": "Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-10194",
"text": "The device memory range [<code>scratch</code>,<code>scratch</code><br> <code>scratchSize</code>] <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"page": "vkspec"
},
{
@ -98139,6 +98204,11 @@
"text": "Execution of this command <strong class=\"purple\">must</strong> not cause any shader that declares <code>NodeMaxPayloadsAMDX</code> to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each <code>NodeMaxPayloadsAMDX</code> decoration separately",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-10195",
"text": "If the currently bound execution graph pipeline includes draw nodes, this command <strong class=\"purple\">must</strong> be called within a render pass instance that is compatible with the graphics pipeline used to create each of those nodes",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09150",
"text": "<code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation at least as large as the product of <code>count</code> and <code>stride</code> when this command is executed on the device",
@ -98204,11 +98274,6 @@
"text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-renderpass",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
@ -98579,8 +98644,13 @@
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09183",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-10192",
"text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratchSize-10193",
"text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@ -98589,8 +98659,8 @@
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09185",
"text": "Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-10194",
"text": "The device memory range [<code>scratch</code>,<code>scratch</code><br> <code>scratchSize</code>] <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"page": "vkspec"
},
{
@ -98608,6 +98678,11 @@
"text": "Execution of this command <strong class=\"purple\">must</strong> not cause any shader that declares <code>NodeMaxPayloadsAMDX</code> to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each <code>NodeMaxPayloadsAMDX</code> decoration separately",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-10195",
"text": "If the currently bound execution graph pipeline includes draw nodes, this command <strong class=\"purple\">must</strong> be called within a render pass instance that is compatible with the graphics pipeline used to create each of those nodes",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09159",
"text": "<code>countInfo</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation containing a valid <a href=\"#VkDispatchGraphCountInfoAMDX\">VkDispatchGraphCountInfoAMDX</a> structure when this command is executed on the device",
@ -98683,11 +98758,6 @@
"text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-renderpass",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
@ -104997,12 +105067,12 @@
},
{
"vuid": "VUID-RuntimeSpirv-ShaderEnqueueAMDX-09191",
"text": "The <code>ShaderEnqueueAMDX</code> capability <strong class=\"purple\">must</strong> only be used in shaders with the <code>GLCompute</code> execution model",
"text": "The <code>ShaderEnqueueAMDX</code> capability <strong class=\"purple\">must</strong> only be used in shaders with the <code>GLCompute</code> or <code>MeshEXT</code> execution model",
"page": "vkspec"
},
{
"vuid": "VUID-RuntimeSpirv-NodePayloadAMDX-09192",
"text": "Variables in the <code>NodePayloadAMDX</code> storage class <strong class=\"purple\">must</strong> only be declared in the <code>GLCompute</code> execution model",
"text": "Variables in the <code>NodePayloadAMDX</code> storage class <strong class=\"purple\">must</strong> only be declared in the <code>GLCompute</code> or <code>MeshEXT</code> execution model",
"page": "vkspec"
},
{

View file

@ -175,7 +175,7 @@ branch of the member gitlab server.
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
<type api="vulkan" category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 297</type>
#define <name>VK_HEADER_VERSION</name> 298</type>
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type>
<type api="vulkansc" category="define">// Version of this file
@ -6410,10 +6410,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsTokenCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsTokenOffset</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsIndirectStride</name></member>
<member><type>VkIndirectCommandsInputModeFlagsEXT</type> <name>supportedIndirectCommandsInputModes</name></member>
<member><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStages</name></member>
<member><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesPipelineBinding</name></member>
<member><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesShaderBinding</name></member>
<member limittype="bitmask"><type>VkIndirectCommandsInputModeFlagsEXT</type> <name>supportedIndirectCommandsInputModes</name></member>
<member limittype="bitmask"><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStages</name></member>
<member limittype="bitmask"><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesPipelineBinding</name></member>
<member limittype="bitmask"><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesShaderBinding</name></member>
<member><type>VkBool32</type> <name>deviceGeneratedCommandsTransformFeedback</name></member>
<member><type>VkBool32</type> <name>deviceGeneratedCommandsMultiDrawIndirectCount</name></member>
</type>
@ -6430,7 +6430,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkGeneratedCommandsMemoryRequirementsInfoEXT">
<member values="VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkIndirectExecutionSetEXT</type> <name>indirectExecutionSet</name></member>
<member><type>VkIndirectCommandsLayoutEXT</type> <name>indirectCommandsLayout</name></member>
<member><type>uint32_t</type> <name>maxSequenceCount</name></member>
@ -6540,7 +6540,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>VkShaderStageFlags</type> <name>shaderStages</name></member>
</type>
<type category="union" name="VkIndirectCommandsTokenDataEXT">
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT">const <type>VkIndirectCommandsPushConstantTokenEXT</type>* <name>pPushConstant</name></member>
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT,VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT">const <type>VkIndirectCommandsPushConstantTokenEXT</type>* <name>pPushConstant</name></member>
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT">const <type>VkIndirectCommandsVertexBufferTokenEXT</type>* <name>pVertexBuffer</name></member>
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT">const <type>VkIndirectCommandsIndexBufferTokenEXT</type>* <name>pIndexBuffer</name></member>
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT">const <type>VkIndirectCommandsExecutionSetTokenEXT</type>* <name>pExecutionSet</name></member>
@ -8994,11 +8994,14 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphShaderPayloadSize</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphShaderPayloadCount</name></member>
<member limittype="noauto"><type>uint32_t</type> <name>executionGraphDispatchAddressAlignment</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphWorkgroupCount</name>[3]</member>
<member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphWorkgroups</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceShaderEnqueueFeaturesAMDX" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX"><type>VkStructureType</type> <name>sType</name></member>
<member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>shaderEnqueue</name></member>
<member><type>VkBool32</type> <name>shaderMeshEnqueue</name></member>
</type>
<type category="struct" name="VkExecutionGraphPipelineCreateInfoAMDX">
<member values="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX"><type>VkStructureType</type> <name>sType</name></member>
@ -9020,7 +9023,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkExecutionGraphPipelineScratchSizeAMDX">
<member values="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX"><type>VkStructureType</type> <name>sType</name></member>
<member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkDeviceSize</type> <name>size</name></member>
<member><type>VkDeviceSize</type> <name>minSize</name></member>
<member><type>VkDeviceSize</type> <name>maxSize</name></member>
<member><type>VkDeviceSize</type> <name>sizeGranularity</name></member>
</type>
<type category="struct" name="VkDispatchGraphInfoAMDX">
<member><type>uint32_t</type> <name>nodeIndex</name></member>
@ -15718,13 +15723,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<proto><type>VkResult</type> <name>vkGetExecutionGraphPipelineScratchSizeAMDX</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkPipeline</type> <name>executionGraph</name></param>
<param><type>VkExecutionGraphPipelineScratchSizeAMDX</type>* <name>pSizeInfo</name></param>
<param><type>VkExecutionGraphPipelineScratchSizeAMDX</type>* <name>pSizeInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkGetExecutionGraphPipelineNodeIndexAMDX</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkPipeline</type> <name>executionGraph</name></param>
<param>const <type>VkPipelineShaderStageNodeCreateInfoAMDX</type>* <name>pNodeInfo</name></param>
<param>const <type>VkPipelineShaderStageNodeCreateInfoAMDX</type>* <name>pNodeInfo</name></param>
<param><type>uint32_t</type>* <name>pNodeIndex</name></param>
</command>
<command successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
@ -15736,27 +15741,32 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
<param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param>
</command>
<command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
<command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdInitializeGraphScratchMemoryAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkPipeline</type> <name>executionGraph</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
<param><type>VkDeviceSize</type> <name>scratchSize</name></param>
</command>
<command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
<command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdDispatchGraphAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
<param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
<param><type>VkDeviceSize</type> <name>scratchSize</name></param>
<param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
</command>
<command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
<command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdDispatchGraphIndirectAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
<param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
<param><type>VkDeviceSize</type> <name>scratchSize</name></param>
<param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
</command>
<command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
<command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdDispatchGraphIndirectCountAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
<param><type>VkDeviceSize</type> <name>scratchSize</name></param>
<param><type>VkDeviceAddress</type> <name>countInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
@ -19265,10 +19275,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_AMD_extension_134&quot;" name="VK_AMD_EXTENSION_134_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_AMDX_shader_enqueue" number="135" author="AMD" depends="(((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3)+VK_KHR_pipeline_library+VK_KHR_spirv_1_4" type="device" contact="Tobias Hector @tobski" provisional="true" platform="provisional" supported="vulkan">
<extension name="VK_AMDX_shader_enqueue" number="135" author="AMD" depends="((VK_KHR_synchronization2+VK_KHR_spirv_1_4+VK_EXT_extended_dynamic_state),VK_VERSION_1_3)+VK_KHR_maintenance5+VK_KHR_pipeline_library" type="device" contact="Tobias Hector @tobski" provisional="true" platform="provisional" supported="vulkan">
<require>
<enum value="1" name="VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION"/>
<enum value="&quot;VK_AMDX_shader_enqueue&quot;" name="VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME"/>
<enum value="2" name="VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION"/>
<enum value="&quot;VK_AMDX_shader_enqueue&quot;" name="VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME"/>
<enum name="VK_SHADER_INDEX_UNUSED_AMDX"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
@ -19295,7 +19305,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="shaderEnqueue" struct="VkPhysicalDeviceShaderEnqueueFeaturesAMDX"/>
</require>
<require depends="VK_KHR_maintenance5">
<enum bitpos="25" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX"/>
<enum bitpos="25" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
<enum bitpos="32" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
</require>
<require depends="VK_EXT_mesh_shader">
<feature name="shaderMeshEnqueue" struct="VkPhysicalDeviceShaderEnqueueFeaturesAMDX"/>
</require>
</extension>
<extension name="VK_KHR_extension_136" number="136" type="device" depends="VK_KHR_maintenance5" author="KHR" contact="Tobias Hector @tobski" supported="disabled">
@ -24074,7 +24088,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_AMD_EXTENSION_479_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_479&quot;" name="VK_AMD_EXTENSION_479_EXTENSION_NAME"/>
<enum bitpos="32" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RESERVED_32_BIT_KHR"/>
</require>
</extension>
<extension name="VK_EXT_extension_480" number="480" author="EXT" contact="Daniel Stone" supported="disabled">
@ -25424,6 +25437,18 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_KHR_extension_606&quot;" name="VK_KHR_EXTENSION_606_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_KHR_extension_607" number="607" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
<require>
<enum value="0" name="VK_KHR_EXTENSION_607_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_extension_607&quot;" name="VK_KHR_EXTENSION_607_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_KHR_extension_608" number="608" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
<require>
<enum value="0" name="VK_KHR_EXTENSION_608_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_extension_608&quot;" name="VK_KHR_EXTENSION_608_EXTENSION_NAME"/>
</require>
</extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">