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;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.identifierSizeis the size, in bytes, of the buffer pointed to bypIdentifier.pIdentifieris 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 structure 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