Description
The following rules must be validated at runtime. These rules depend on knowledge of the implementation and its capabilities and knowledge of runtime information, such as enabled features.
-
VUID-RuntimeSpirv-vulkanMemoryModel-06265
IfvulkanMemoryModel
is enabled andvulkanMemoryModelDeviceScope
is not enabled, Device memory scope must not be used. -
VUID-RuntimeSpirv-vulkanMemoryModel-06266
IfvulkanMemoryModel
is not enabled, QueueFamily memory scope must not be used. -
VUID-RuntimeSpirv-shaderSubgroupClock-06267
IfshaderSubgroupClock
is not enabled, theSubgroup
scope must not be used forOpReadClockKHR
. -
VUID-RuntimeSpirv-shaderDeviceClock-06268
IfshaderDeviceClock
is not enabled, theDevice
scope must not be used forOpReadClockKHR
. -
VUID-RuntimeSpirv-Location-06272
The sum ofLocation
and the number of locations the variable it decorates consumes must be less than or equal to the value for the matchingExecution
Model
defined in https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-iointerfaces-limits -
VUID-RuntimeSpirv-Fragment-06427
When blending is enabled and one of the dual source blend modes is in use, the maximum number of output attachments written to in theFragment
Execution
Model
must be less than or equal tomaxFragmentDualSrcAttachments
-
VUID-RuntimeSpirv-Location-06428
The maximum number of storage buffers, storage images, and outputLocation
decorated color attachments written to in theFragment
Execution
Model
must be less than or equal tomaxFragmentCombinedOutputResources
-
VUID-RuntimeSpirv-NonUniform-06274
If an instruction loads from or stores to a resource (including atomics and image instructions) and the resource descriptor being accessed is not dynamically uniform, then the operand corresponding to that resource (e.g. the pointer or sampled image operand) must be decorated withNonUniform
. -
VUID-RuntimeSpirv-None-06275
shaderSubgroupExtendedTypes must be enabled for group operations to use 8-bit integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these types -
VUID-RuntimeSpirv-subgroupBroadcastDynamicId-06276
IfsubgroupBroadcastDynamicId
isVK_TRUE
, and the shader module version is 1.5 or higher, the “Index” forOpGroupNonUniformQuadBroadcast
must be dynamically uniform within the derivative group. Otherwise, “Index” must be a constant. -
VUID-RuntimeSpirv-subgroupBroadcastDynamicId-06277
IfsubgroupBroadcastDynamicId
isVK_TRUE
, and the shader module version is 1.5 or higher, the “Id” forOpGroupNonUniformBroadcast
must be dynamically uniform within the subgroup. Otherwise, “Id” must be a constant. -
VUID-RuntimeSpirv-None-06278
shaderBufferInt64Atomics must be enabled for 64-bit integer atomic operations to be supported on a Pointer with a Storage Class of StorageBuffer or Uniform. -
VUID-RuntimeSpirv-None-06279
shaderSharedInt64Atomics must be enabled for 64-bit integer atomic operations to be supported on a Pointer with a Storage Class of Workgroup. -
VUID-RuntimeSpirv-None-06284
shaderBufferFloat32Atomics, or shaderBufferFloat32AtomicAdd, or shaderBufferFloat64Atomics, or shaderBufferFloat64AtomicAdd, or shaderBufferFloat16Atomics, or shaderBufferFloat16AtomicAdd, or shaderBufferFloat16AtomicMinMax, or shaderBufferFloat32AtomicMinMax, or shaderBufferFloat64AtomicMinMax must be enabled for floating-point atomic operations to be supported on a Pointer with a Storage Class of StorageBuffer. -
VUID-RuntimeSpirv-None-06285
shaderSharedFloat32Atomics, or shaderSharedFloat32AtomicAdd, or shaderSharedFloat64Atomics, or shaderSharedFloat64AtomicAdd, or shaderSharedFloat16Atomics, or shaderSharedFloat16AtomicAdd, or shaderSharedFloat16AtomicMinMax, or shaderSharedFloat32AtomicMinMax, or shaderSharedFloat64AtomicMinMax must be enabled for floating-point atomic operations to be supported on a Pointer with a Storage Class of Workgroup. -
VUID-RuntimeSpirv-None-06286
shaderImageFloat32Atomics, or shaderImageFloat32AtomicAdd, or shaderImageFloat32AtomicMinMax must be enabled for 32-bit floating-point atomic operations to be supported on a Pointer with a Storage Class of Image. -
VUID-RuntimeSpirv-None-06287
sparseImageFloat32Atomics, or sparseImageFloat32AtomicAdd, or sparseImageFloat32AtomicMinMax must be enabled for 32-bit floating-point atomics to be supported on sparse images. -
VUID-RuntimeSpirv-None-06288
shaderImageInt64Atomics must be enabled for 64-bit integer atomic operations to be supported on a Pointer with a Storage Class of Image. -
VUID-RuntimeSpirv-denormBehaviorIndependence-06289
IfdenormBehaviorIndependence
isVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
, then the entry point must use the same denormals execution mode for both 16-bit and 64-bit floating-point types. -
VUID-RuntimeSpirv-denormBehaviorIndependence-06290
IfdenormBehaviorIndependence
isVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
, then the entry point must use the same denormals execution mode for all floating-point types. -
VUID-RuntimeSpirv-roundingModeIndependence-06291
IfroundingModeIndependence
isVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
, then the entry point must use the same rounding execution mode for both 16-bit and 64-bit floating-point types. -
VUID-RuntimeSpirv-roundingModeIndependence-06292
IfroundingModeIndependence
isVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
, then the entry point must use the same rounding execution mode for all floating-point types. -
VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat16-06293
IfshaderSignedZeroInfNanPreserveFloat16
isVK_FALSE
, thenSignedZeroInfNanPreserve
for 16-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat32-06294
IfshaderSignedZeroInfNanPreserveFloat32
isVK_FALSE
, thenSignedZeroInfNanPreserve
for 32-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat64-06295
IfshaderSignedZeroInfNanPreserveFloat64
isVK_FALSE
, thenSignedZeroInfNanPreserve
for 64-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderDenormPreserveFloat16-06296
IfshaderDenormPreserveFloat16
isVK_FALSE
, thenDenormPreserve
for 16-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderDenormPreserveFloat32-06297
IfshaderDenormPreserveFloat32
isVK_FALSE
, thenDenormPreserve
for 32-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderDenormPreserveFloat64-06298
IfshaderDenormPreserveFloat64
isVK_FALSE
, thenDenormPreserve
for 64-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderDenormFlushToZeroFloat16-06299
IfshaderDenormFlushToZeroFloat16
isVK_FALSE
, thenDenormFlushToZero
for 16-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderDenormFlushToZeroFloat32-06300
IfshaderDenormFlushToZeroFloat32
isVK_FALSE
, thenDenormFlushToZero
for 32-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderDenormFlushToZeroFloat64-06301
IfshaderDenormFlushToZeroFloat64
isVK_FALSE
, thenDenormFlushToZero
for 64-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderRoundingModeRTEFloat16-06302
IfshaderRoundingModeRTEFloat16
isVK_FALSE
, thenRoundingModeRTE
for 16-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderRoundingModeRTEFloat32-06303
IfshaderRoundingModeRTEFloat32
isVK_FALSE
, thenRoundingModeRTE
for 32-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderRoundingModeRTEFloat64-06304
IfshaderRoundingModeRTEFloat64
isVK_FALSE
, thenRoundingModeRTE
for 64-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderRoundingModeRTZFloat16-06305
IfshaderRoundingModeRTZFloat16
isVK_FALSE
, thenRoundingModeRTZ
for 16-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderRoundingModeRTZFloat32-06306
IfshaderRoundingModeRTZFloat32
isVK_FALSE
, thenRoundingModeRTZ
for 32-bit floating-point type must not be used. -
VUID-RuntimeSpirv-shaderRoundingModeRTZFloat64-06307
IfshaderRoundingModeRTZFloat64
isVK_FALSE
, thenRoundingModeRTZ
for 64-bit floating-point type must not be used. -
VUID-RuntimeSpirv-Offset-06308
TheOffset
plus size of the type of each variable, in the output interface of the entry point being compiled, decorated withXfbBuffer
must not be greater thanVkPhysicalDeviceTransformFeedbackPropertiesEXT
::maxTransformFeedbackBufferDataSize
-
VUID-RuntimeSpirv-XfbBuffer-06309
For any givenXfbBuffer
value, define the buffer data size to be smallest number of bytes such that, for all outputs decorated with the sameXfbBuffer
value, the size of the output interface variable plus theOffset
is less than or equal to the buffer data size. For a givenStream
, the sum of all the buffer data sizes for all buffers writing to that stream the must not exceedVkPhysicalDeviceTransformFeedbackPropertiesEXT
::maxTransformFeedbackStreamDataSize
-
VUID-RuntimeSpirv-OpEmitStreamVertex-06310
The Stream value toOpEmitStreamVertex
andOpEndStreamPrimitive
must be less thanVkPhysicalDeviceTransformFeedbackPropertiesEXT
::maxTransformFeedbackStreams
-
VUID-RuntimeSpirv-transformFeedbackStreamsLinesTriangles-06311
If the geometry shader emits to more than one vertex stream andVkPhysicalDeviceTransformFeedbackPropertiesEXT
::transformFeedbackStreamsLinesTriangles
isVK_FALSE
, then execution mode must beOutputPoints
-
VUID-RuntimeSpirv-Stream-06312
The stream number value toStream
must be less thanVkPhysicalDeviceTransformFeedbackPropertiesEXT
::maxTransformFeedbackStreams
-
VUID-RuntimeSpirv-XfbStride-06313
The XFB Stride value toXfbStride
must be less than or equal toVkPhysicalDeviceTransformFeedbackPropertiesEXT
::maxTransformFeedbackBufferDataStride
-
VUID-RuntimeSpirv-PhysicalStorageBuffer64-06314
If thePhysicalStorageBuffer64
addressing model is enabled any load or store through a physical pointer type must be aligned to a multiple of the size of the largest scalar type in the pointed-to type. -
VUID-RuntimeSpirv-PhysicalStorageBuffer64-06315
If thePhysicalStorageBuffer64
addressing model is enabled the pointer value of a memory access instruction must be at least as aligned as specified by theAligned
memory access operand. -
VUID-RuntimeSpirv-OpTypeCooperativeMatrixNV-06316
ForOpTypeCooperativeMatrixNV
, the component type, scope, number of rows, and number of columns must match one of the matrices in any of the supported VkCooperativeMatrixPropertiesNV. -
VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06317
ForOpCooperativeMatrixMulAddNV
, the type ofA
must have VkCooperativeMatrixPropertiesNV::MSize
rows and VkCooperativeMatrixPropertiesNV::KSize
columns and have a component type that matches VkCooperativeMatrixPropertiesNV::AType
. -
VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06318
ForOpCooperativeMatrixMulAddNV
, the type ofB
must have VkCooperativeMatrixPropertiesNV::KSize
rows and VkCooperativeMatrixPropertiesNV::NSize
columns and have a component type that matches VkCooperativeMatrixPropertiesNV::BType
. -
VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06319
ForOpCooperativeMatrixMulAddNV
, the type ofC
must have VkCooperativeMatrixPropertiesNV::MSize
rows and VkCooperativeMatrixPropertiesNV::NSize
columns and have a component type that matches VkCooperativeMatrixPropertiesNV::CType
. -
VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06320
ForOpCooperativeMatrixMulAddNV
, the type ofResult
must have VkCooperativeMatrixPropertiesNV::MSize
rows and VkCooperativeMatrixPropertiesNV::NSize
columns and have a component type that matches VkCooperativeMatrixPropertiesNV::DType
. -
VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06321
ForOpCooperativeMatrixMulAddNV
, the type ofA
,B
,C
, andResult
must all have a scope ofscope
. -
VUID-RuntimeSpirv-OpTypeCooperativeMatrixNV-06322
OpTypeCooperativeMatrixNV
andOpCooperativeMatrix*
instructions must not be used in shader stages not included in VkPhysicalDeviceCooperativeMatrixPropertiesNV::cooperativeMatrixSupportedStages
. -
VUID-RuntimeSpirv-DescriptorSet-06323
DescriptorSet
andBinding
decorations must obey the constraints on storage class, type, and descriptor type described in DescriptorSet and Binding Assignment -
VUID-RuntimeSpirv-OpCooperativeMatrixLoadNV-06324
ForOpCooperativeMatrixLoadNV
andOpCooperativeMatrixStoreNV
instructions, thePointer
andStride
operands must be aligned to at least the lesser of 16 bytes or the natural alignment of a row or column (depending onColumnMajor
) of the matrix (where the natural alignment is the number of columns/rows multiplied by the component size). -
VUID-RuntimeSpirv-shaderSampleRateInterpolationFunctions-06325
If theVK_KHR_portability_subset
extension is enabled, and VkPhysicalDevicePortabilitySubsetFeaturesKHR::shaderSampleRateInterpolationFunctions
isVK_FALSE
, thenGLSL.std.450
fragment interpolation functions are not supported by the implementation andOpCapability
must not be set toInterpolationFunction
. -
VUID-RuntimeSpirv-tessellationShader-06326
IftessellationShader
is enabled, and theVK_KHR_portability_subset
extension is enabled, and VkPhysicalDevicePortabilitySubsetFeaturesKHR::tessellationIsolines
isVK_FALSE
, thenOpExecutionMode
must not be set toIsoLines
. -
VUID-RuntimeSpirv-tessellationShader-06327
IftessellationShader
is enabled, and theVK_KHR_portability_subset
extension is enabled, and VkPhysicalDevicePortabilitySubsetFeaturesKHR::tessellationPointMode
isVK_FALSE
, thenOpExecutionMode
must not be set toPointMode
. -
VUID-RuntimeSpirv-storageBuffer8BitAccess-06328
IfstorageBuffer8BitAccess
isVK_FALSE
, then objects containing an 8-bit integer element must not have storage class of StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer. -
VUID-RuntimeSpirv-uniformAndStorageBuffer8BitAccess-06329
IfuniformAndStorageBuffer8BitAccess
isVK_FALSE
, then objects in the Uniform storage class with the Block decoration must not have an 8-bit integer member. -
VUID-RuntimeSpirv-storagePushConstant8-06330
IfstoragePushConstant8
isVK_FALSE
, then objects containing an 8-bit integer element must not have storage class of PushConstant. -
VUID-RuntimeSpirv-storageBuffer16BitAccess-06331
IfstorageBuffer16BitAccess
isVK_FALSE
, then objects containing 16-bit integer or 16-bit floating-point elements must not have storage class of StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer. -
VUID-RuntimeSpirv-uniformAndStorageBuffer16BitAccess-06332
IfuniformAndStorageBuffer16BitAccess
isVK_FALSE
, then objects in the Uniform storage class with the Block decoration must not have 16-bit integer or 16-bit floating-point members. -
VUID-RuntimeSpirv-storagePushConstant16-06333
IfstoragePushConstant16
isVK_FALSE
, then objects containing 16-bit integer or 16-bit floating-point elements must not have storage class of PushConstant. -
VUID-RuntimeSpirv-storageInputOutput16-06334
IfstorageInputOutput16
isVK_FALSE
, then objects containing 16-bit integer or 16-bit floating-point elements must not have storage class of Input or Output. -
VUID-RuntimeSpirv-None-06337
shaderBufferFloat16Atomics, or shaderBufferFloat16AtomicAdd, or shaderBufferFloat16AtomicMinMax, or shaderSharedFloat16Atomics, or shaderSharedFloat16AtomicAdd, or shaderSharedFloat16AtomicMinMax must be enabled for 16-bit floating point atomic operations -
VUID-RuntimeSpirv-None-06338
shaderBufferFloat32Atomics, or shaderBufferFloat32AtomicAdd, or shaderSharedFloat32Atomics, or shaderSharedFloat32AtomicAdd, or shaderImageFloat32Atomics, or shaderImageFloat32AtomicAdd or shaderBufferFloat32AtomicMinMax, or shaderSharedFloat32AtomicMinMax, or shaderImageFloat32AtomicMinMax must be enabled for 32-bit floating point atomic operations -
VUID-RuntimeSpirv-None-06339
shaderBufferFloat64Atomics, or shaderBufferFloat64AtomicAdd, or shaderSharedFloat64Atomics, or shaderSharedFloat64AtomicAdd, or shaderBufferFloat64AtomicMinMax, or shaderSharedFloat64AtomicMinMax, must be enabled for 64-bit floating point atomic operations -
VUID-RuntimeSpirv-NonWritable-06340
If fragmentStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the fragment stage must be decorated with theNonWritable
decoration. -
VUID-RuntimeSpirv-NonWritable-06341
If vertexPipelineStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages must be decorated with theNonWritable
decoration. -
VUID-RuntimeSpirv-None-06342
If subgroupQuadOperationsInAllStages isVK_FALSE
, then quad subgroup operations must not be used except for in fragment and compute stages. -
VUID-RuntimeSpirv-None-06343
Group operations with subgroup scope must not be used if the shader stage is not in subgroupSupportedStages. -
VUID-RuntimeSpirv-Offset-06344
The first element of theOffset
operand ofInterpolateAtOffset
must be greater than or equal to:-
fragwidth ×
minInterpolationOffset
where fragwidth is the width of the current fragment in pixels.
-
-
VUID-RuntimeSpirv-Offset-06345
The first element of theOffset
operand ofInterpolateAtOffset
must be less than or equal to:-
fragwidth × (
maxInterpolationOffset
+ ULP ) - ULPwhere fragwidth is the width of the current fragment in pixels and ULP = 1 / 2
subPixelInterpolationOffsetBits
^.
-
-
VUID-RuntimeSpirv-Offset-06346
The second element of theOffset
operand ofInterpolateAtOffset
must be greater than or equal to:-
fragheight ×
minInterpolationOffset
where fragheight is the height of the current fragment in pixels.
-
-
VUID-RuntimeSpirv-Offset-06347
The second element of theOffset
operand ofInterpolateAtOffset
must be less than or equal to:-
fragheight × (
maxInterpolationOffset
+ ULP ) - ULPwhere fragheight is the height of the current fragment in pixels and ULP = 1 / 2
subPixelInterpolationOffsetBits
^.
-
-
VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06348
ForOpRayQueryInitializeKHR
instructions, all components of theRayOrigin
andRayDirection
operands must be finite floating-point values. -
VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06349
ForOpRayQueryInitializeKHR
instructions, theRayTmin
andRayTmax
operands must be non-negative floating-point values. -
VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06350
ForOpRayQueryInitializeKHR
instructions, theRayTmin
operand must be less than or equal to theRayTmax
operand. -
VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06351
ForOpRayQueryInitializeKHR
instructions,RayOrigin
,RayDirection
,RayTmin
, andRayTmax
operands must not contain NaNs. -
VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06352
ForOpRayQueryInitializeKHR
instructions,Acceleration
Structure
must be an acceleration structure built as a top-level acceleration structure. -
VUID-RuntimeSpirv-OpRayQueryGenerateIntersectionKHR-06353
ForOpRayQueryGenerateIntersectionKHR
instructions,Hit
T
must satisfy the conditionRayTmin
≤Hit
T
≤RayTmax
, whereRayTmin
is equal to the value returned byOpRayQueryGetRayTMinKHR
with the same ray query object, andRayTmax
is equal to the value ofOpRayQueryGetIntersectionTKHR
for the current committed intersection with the same ray query object. -
VUID-RuntimeSpirv-OpRayQueryGenerateIntersectionKHR-06354
ForOpRayQueryGenerateIntersectionKHR
instructions,Acceleration
Structure
must not be built withVK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV
inflags
. -
VUID-RuntimeSpirv-OpTraceRayKHR-06355
ForOpTraceRayKHR
instructions, all components of theRayOrigin
andRayDirection
operands must be finite floating-point values. -
VUID-RuntimeSpirv-OpTraceRayKHR-06356
ForOpTraceRayKHR
instructions, theRayTmin
andRayTmax
operands must be non-negative floating-point values. -
VUID-RuntimeSpirv-OpTraceRayKHR-06552
ForOpTraceRayKHR
instructions, theRayflags
operand must not contain bothSkipTrianglesKHR
andSkipAABBsKHR
-
VUID-RuntimeSpirv-OpTraceRayKHR-06553
ForOpTraceRayKHR
instructions, if theRayflags
operand containsSkipTrianglesKHR
, the pipeline must not have been created withVK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
set -
VUID-RuntimeSpirv-OpTraceRayKHR-06554
ForOpTraceRayKHR
instructions, if theRayflags
operand containsSkipAABBsKHR
, the pipeline must not have been created withVK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
set -
VUID-RuntimeSpirv-OpTraceRayKHR-06357
ForOpTraceRayKHR
instructions, theRayTmin
operand must be less than or equal to theRayTmax
operand. -
VUID-RuntimeSpirv-OpTraceRayKHR-06358
ForOpTraceRayKHR
instructions,RayOrigin
,RayDirection
,RayTmin
, andRayTmax
operands must not contain NaNs. -
VUID-RuntimeSpirv-OpTraceRayKHR-06359
ForOpTraceRayKHR
instructions,Acceleration
Structure
must be an acceleration structure built as a top-level acceleration structure. -
VUID-RuntimeSpirv-OpTraceRayKHR-06360
ForOpTraceRayKHR
instructions, ifAcceleration
Structure
was built withVK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV
inflags
, the pipeline must have been created withVK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
set -
VUID-RuntimeSpirv-OpTraceRayMotionNV-06361
ForOpTraceRayMotionNV
instructions, all components of theRayOrigin
andRayDirection
operands must be finite floating-point values. -
VUID-RuntimeSpirv-OpTraceRayMotionNV-06362
ForOpTraceRayMotionNV
instructions, theRayTmin
andRayTmax
operands must be non-negative floating-point values. -
VUID-RuntimeSpirv-OpTraceRayMotionNV-06363
ForOpTraceRayMotionNV
instructions, theRayTmin
operand must be less than or equal to theRayTmax
operand. -
VUID-RuntimeSpirv-OpTraceRayMotionNV-06364
ForOpTraceRayMotionNV
instructions,RayOrigin
,RayDirection
,RayTmin
, andRayTmax
operands must not contain NaNs. -
VUID-RuntimeSpirv-OpTraceRayMotionNV-06365
ForOpTraceRayMotionNV
instructions,Acceleration
Structure
must be an acceleration structure built as a top-level acceleration structure withVK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV
inflags
-
VUID-RuntimeSpirv-OpTraceRayMotionNV-06366
ForOpTraceRayMotionNV
instructions thetime
operand must be between 0.0 and 1.0 -
VUID-RuntimeSpirv-OpTraceRayMotionNV-06367
ForOpTraceRayMotionNV
instructions the pipeline must have been created withVK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
set -
VUID-RuntimeSpirv-x-06429
Thex
size inLocalSize
orLocalSizeId
must be less than or equal toVkPhysicalDeviceLimits
::maxComputeWorkGroupSize
[0] -
VUID-RuntimeSpirv-y-06430
They
size inLocalSize
orLocalSizeId
must be less than or equal toVkPhysicalDeviceLimits
::maxComputeWorkGroupSize
[1] -
VUID-RuntimeSpirv-z-06431
Thez
size inLocalSize
orLocalSizeId
must be less than or equal toVkPhysicalDeviceLimits
::maxComputeWorkGroupSize
[2] -
VUID-RuntimeSpirv-x-06432
The product ofx
size,y
size, andz
size inLocalSize
orLocalSizeId
must be less than or equal toVkPhysicalDeviceLimits
::maxComputeWorkGroupInvocations
-
VUID-RuntimeSpirv-LocalSizeId-06434
if execution modeLocalSizeId
is used,maintenance4
must be enabled -
VUID-RuntimeSpirv-Workgroup-06530
The sum of size in bytes for variables and padding in theWorkgroup
storage class in theGLCompute
Execution
Model
must be less than or equal tomaxComputeSharedMemorySize
-
VUID-RuntimeSpirv-shaderZeroInitializeWorkgroupMemory-06372
IfshaderZeroInitializeWorkgroupMemory
is not enabled, anyOpVariable
with Workgroup as its Storage Class must not have anInitializer
operand -
VUID-RuntimeSpirv-OpImage-06376
If anOpImage*Gather
operation has an image operand ofOffset
,ConstOffset
, orConstOffsets
the offset value must be greater than or equal to minTexelGatherOffset -
VUID-RuntimeSpirv-OpImage-06377
If anOpImage*Gather
operation has an image operand ofOffset
,ConstOffset
, orConstOffsets
the offset value must be less than or equal to maxTexelGatherOffset -
VUID-RuntimeSpirv-OpImageSample-06435
If anOpImageSample*
orOpImageFetch*
operation has an image operand ofConstOffset
then the offset value must be greater than or equal to minTexelOffset -
VUID-RuntimeSpirv-OpImageSample-06436
If anOpImageSample*
orOpImageFetch*
operation has an image operand ofConstOffset
then the offset value must be less than or equal to maxTexelOffset -
VUID-RuntimeSpirv-SampleRateShading-06378
If the subpass description containsVK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM
, then the SPIR-V fragment shader CapabilitySampleRateShading
must not be enabled. -
VUID-RuntimeSpirv-SubgroupUniformControlFlowKHR-06379
The execution modeSubgroupUniformControlFlowKHR
must not be applied to an entry point unlessshaderSubgroupUniformControlFlow
is enabled and the corresponding shader stage bit is set in subgroupsupportedStages
and the entry point does not execute any invocation repack instructions. -
VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06767
IfshaderEarlyAndLateFragmentTests
is not enabled, theEarlyAndLateFragmentTestsEXT
Execution
Mode
must not be used. -
VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06768
IfshaderEarlyAndLateFragmentTests
feature is not enabled, theStencilRefUnchangedFrontEXT
Execution
Mode
must not be used. -
VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06769
IfshaderEarlyAndLateFragmentTests
is not enabled, theStencilRefUnchangedBackEXT
Execution
Mode
must not be used. -
VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06770
IfshaderEarlyAndLateFragmentTests
is not enabled, theStencilRefGreaterFrontEXT
Execution
Mode
must not be used. -
VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06771
IfshaderEarlyAndLateFragmentTests
is not enabled, theStencilRefGreaterBackEXT
Execution
Mode
must not be used. -
VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06772
IfshaderEarlyAndLateFragmentTests
is not enabled, theStencilRefLessFrontEXT
Execution
Mode
must not be used. -
VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06773
IfshaderEarlyAndLateFragmentTests
is not enabled, theStencilRefLessBackEXT
Execution
Mode
must not be used.
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.