SPIR-V Built-In

SamplePosition

Position of a shaded sample
SamplePosition

Decorating a variable with the SamplePosition built-in decoration will make that variable contain the sub-pixel position of the sample being shaded. The top left of the pixel is considered to be at coordinate (0,0) and the bottom right of the pixel is considered to be at coordinate (1,1).

If the render pass has a fragment density map attachment, the variable will instead contain the sub-fragment position of the sample being shaded. The top left of the fragment is considered to be at coordinate (0,0) and the bottom right of the fragment is considered to be at coordinate (1,1) for any fragment area.

If a fragment shader entry point’s interface includes an input variable decorated with SamplePosition, Sample Shading is considered enabled with a minSampleShading value of 1.0.

If the current pipeline uses custom sample locations the value of any variable decorated with the SamplePosition built-in decoration is undefined:.

Valid Usage

VUID-SamplePosition-SamplePosition-04360

The SamplePosition decoration must be used only within the Fragment Execution Model

VUID-SamplePosition-SamplePosition-04361

The variable decorated with SamplePosition must be declared using the Input Storage Class

VUID-SamplePosition-SamplePosition-04362

The variable decorated with SamplePosition must be declared as a two-component vector of 32-bit floating-point values