C Specification

The VkPhysicalDeviceShaderObjectPropertiesEXT structure is defined as:

// Provided by VK_EXT_shader_object
typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT {
    VkStructureType    sType;
    void*              pNext;
    uint8_t            shaderBinaryUUID[VK_UUID_SIZE];
    uint32_t           shaderBinaryVersion;
} VkPhysicalDeviceShaderObjectPropertiesEXT;


  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • shaderBinaryUUID is an array of VK_UUID_SIZE uint8_t values representing a universally unique identifier for one or more implementations whose shader binaries are guaranteed to be compatible with each other.

  • shaderBinaryVersion is an unsigned integer incremented to represent backwards compatible differences between implementations with the same shaderBinaryUUID.


The purpose and usage of the values of this structure are described in greater detail in Binary Shader Compatibility.

If the VkPhysicalDeviceShaderObjectPropertiesEXT 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-VkPhysicalDeviceShaderObjectPropertiesEXT-sType-sType

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0