VkPipelineShaderStageModuleIdentifierCreateInfoEXT
An identifier can be provided instead of shader code in an attempt to compile pipelines without providing complete SPIR-V to the implementation.
The VkPipelineShaderStageModuleIdentifierCreateInfoEXT
structure is
defined as:
typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
VkStructureType sType;
const void* pNext;
uint32_t identifierSize;
const uint8_t* pIdentifier;
} VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.identifierSize
is the size, in bytes, of the buffer pointed to bypIdentifier
.pIdentifier
is a pointer to a buffer of opaque data specifying an identifier.
Any identifier can be used.
If the pipeline being created with identifier requires compilation to
complete the pipeline creation call, pipeline compilation must fail as
defined by VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT
.
pIdentifier
and identifierSize
can be obtained from an
VkShaderModuleIdentifierEXT queried earlier.
Valid Usage
VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-pNext-06850
If this structure is included in a pNext
chain and
identifierSize
is not equal to 0, the
shaderModuleIdentifier
feature must be enabled
VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-pNext-06851
If this struct is included in a pNext
chain of
VkPipelineShaderStageCreateInfo and identifierSize
is not
equal to 0, the pipeline must be created with the
VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT
flag set
VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-identifierSize-06852
identifierSize
must be less-or-equal to
VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT
Valid Usage (Implicit)
VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-sType-sType
sType
must be VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-pIdentifier-parameter
If identifierSize
is not 0
, pIdentifier
must be a valid pointer to an array of identifierSize
uint8_t
values