VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
The VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
structure is
defined as:
typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
VkStructureType sType;
void* pNext;
uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
} VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
The members of the VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
structure describe the following:
shaderModuleIdentifierAlgorithmUUID
is an array ofVK_UUID_SIZE
uint8_t
values which uniquely represents the algorithm used to compute an identifier in vkGetShaderModuleIdentifierEXT and vkGetShaderModuleCreateInfoIdentifierEXT. Implementations should not change this value in different driver versions if the algorithm used to compute an identifier is the same.
The algorithm UUID may be the same in different ICDs if the algorithms are guaranteed to produce the same results. This may happen in driver stacks which support different kinds of hardware with shared code.
Khronos' conformance testing can not guarantee that
shaderModuleIdentifierAlgorithmUUID
values are actually unique, so
implementors should make their own best efforts to ensure that their UUID is
unlikely to conflict with other implementations which may use a different
algorithm.
In particular, hard-coded values which easily conflict, such as all-0
bits, should never be used.
Hard-coded values are acceptable if best effort is ensured that the value
will not accidentally conflict.
If the VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
structure is included in the pNext
chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
Valid Usage (Implicit)
VUID-VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT-sType-sType
sType
must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT