VkPipelineRobustnessCreateInfoEXT
The VkPipelineRobustnessCreateInfoEXT
structure is defined as:
typedef struct VkPipelineRobustnessCreateInfoEXT {
VkStructureType sType;
const void* pNext;
VkPipelineRobustnessBufferBehaviorEXT storageBuffers;
VkPipelineRobustnessBufferBehaviorEXT uniformBuffers;
VkPipelineRobustnessBufferBehaviorEXT vertexInputs;
VkPipelineRobustnessImageBehaviorEXT images;
} VkPipelineRobustnessCreateInfoEXT;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.storageBuffers
sets the behavior of out of bounds accesses made to resources bound as:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
uniformBuffers
describes the behavior of out of bounds accesses made to resources bound as:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
vertexInputs
describes the behavior of out of bounds accesses made to vertex input attributesimages
describes the behavior of out of bounds accesses made to resources bound as:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
VK_DESCRIPTOR_TYPE_STORAGE_IMAGE
Resources bound as VK_DESCRIPTOR_TYPE_MUTABLE_EXT
will have the
robustness behavior that covers its active descriptor type.
The scope of the effect of VkPipelineRobustnessCreateInfoEXT
depends
on which structure’s pNext
chain it is included in.
VkGraphicsPipelineCreateInfo
,VkRayTracingPipelineCreateInfoKHR
,VkComputePipelineCreateInfo
:\
The robustness behavior described byVkPipelineRobustnessCreateInfoEXT
applies to all accesses through this pipelineVkPipelineShaderStageCreateInfo
:\
The robustness behavior described byVkPipelineRobustnessCreateInfoEXT
applies to all accesses emanating from the shader code of this shader stage
If VkPipelineRobustnessCreateInfoEXT
is specified for both a pipeline
and a pipeline stage, the VkPipelineRobustnessCreateInfoEXT
specified
for the pipeline stage will take precedence.
When VkPipelineRobustnessCreateInfoEXT
is specified for a pipeline, it
only affects the subset of the pipeline that is specified by the create
info, as opposed to subsets linked from pipeline libraries.
For VkGraphicsPipelineCreateInfo, that subset is specified by
VkGraphicsPipelineLibraryCreateInfoEXT::flags
.
For VkRayTracingPipelineCreateInfoKHR, that subset is specified by the
specific stages in VkRayTracingPipelineCreateInfoKHR::pStages
.
Valid Usage
VUID-VkPipelineRobustnessCreateInfoEXT-pipelineRobustness-06926
If the pipelineRobustness
feature
is not enabled, storageBuffers
must be
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-pipelineRobustness-06927
If the pipelineRobustness
feature
is not enabled, uniformBuffers
must be
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-pipelineRobustness-06928
If the pipelineRobustness
feature
is not enabled, vertexInputs
must be
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-pipelineRobustness-06929
If the pipelineRobustness
feature
is not enabled, images
must be
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-robustImageAccess-06930
If the robustImageAccess
feature
is not supported, images
must not be
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-robustBufferAccess2-06931
If the robustBufferAccess2
feature is not supported, storageBuffers
must not be
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-robustBufferAccess2-06932
If the robustBufferAccess2
feature is not supported, uniformBuffers
must not be
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-robustBufferAccess2-06933
If the robustBufferAccess2
feature is not supported, vertexInputs
must not be
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-robustImageAccess2-06934
If the robustImageAccess2
feature
is not supported, images
must not be
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT
Valid Usage (Implicit)
VUID-VkPipelineRobustnessCreateInfoEXT-sType-sType
sType
must be VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
VUID-VkPipelineRobustnessCreateInfoEXT-storageBuffers-parameter
storageBuffers
must be a valid VkPipelineRobustnessBufferBehaviorEXT value
VUID-VkPipelineRobustnessCreateInfoEXT-uniformBuffers-parameter
uniformBuffers
must be a valid VkPipelineRobustnessBufferBehaviorEXT value
VUID-VkPipelineRobustnessCreateInfoEXT-vertexInputs-parameter
vertexInputs
must be a valid VkPipelineRobustnessBufferBehaviorEXT value
VUID-VkPipelineRobustnessCreateInfoEXT-images-parameter
images
must be a valid VkPipelineRobustnessImageBehaviorEXT value