Structures

VkPhysicalDevicePipelineRobustnessProperties

Structure describing the default robustness behavior of a physical device

The VkPhysicalDevicePipelineRobustnessProperties structure is defined as:

typedef struct VkPhysicalDevicePipelineRobustnessProperties {
    VkStructureType sType;
    void* pNext;
    VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers;
    VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers;
    VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs;
    VkPipelineRobustnessImageBehavior defaultRobustnessImages;
} VkPhysicalDevicePipelineRobustnessProperties;

or the equivalent

typedef VkPhysicalDevicePipelineRobustnessProperties VkPhysicalDevicePipelineRobustnessPropertiesEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • defaultRobustnessStorageBuffers describes the behavior of out of bounds accesses made to storage buffers when no robustness features are enabled
  • defaultRobustnessUniformBuffers describes the behavior of out of bounds accesses made to uniform buffers when no robustness features are enabled
  • defaultRobustnessVertexInputs describes the behavior of out of bounds accesses made to vertex input attributes when no robustness features are enabled
  • defaultRobustnessImages describes the behavior of out of bounds accesses made to images when no robustness features are enabled

Some implementations of Vulkan may be able to guarantee that certain types of accesses are always performed with robustness even when the Vulkan API’s robustness features are not explicitly enabled.

Even when an implementation reports that accesses to a given resource type are robust by default, it remains invalid to make an out of bounds access without requesting the appropriate robustness feature.

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

sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES