## A.2. Capabilities

Implementations must support the following capability operands declared by OpCapability:

• Matrix
• Shader
• InputAttachment
• Sampled1D
• Image1D
• SampledBuffer
• ImageBuffer
• ImageQuery
• DerivativeControl

Implementations may support features that are not required by the Specification, as described in the Features chapter. If such a feature is supported, then any capability operand(s) corresponding to that feature must also be supported.

Table A.1. SPIR-V Capabilities which are not required, and corresponding feature names

SPIR-V OpCapability Vulkan feature name

Geometry

Tessellation

Float64

Int64

Int16

TessellationPointSize

GeometryPointSize

ImageGatherExtended

StorageImageMultisample

UniformBufferArrayDynamicIndexing

SampledImageArrayDynamicIndexing

StorageBufferArrayDynamicIndexing

StorageImageArrayDynamicIndexing

ClipDistance

CullDistance

ImageCubeArray

imageCubeArray

SampleRateShading

SparseResidency

MinLod

SampledCubeArray

imageCubeArray

ImageMSArray

StorageImageExtendedFormats

InterpolationFunction

StorageImageReadWithoutFormat

StorageImageWriteWithoutFormat

MultiViewport
The application must not pass a SPIR-V module containing any of the following to vkCreateShaderModule: