SPIR-V Built-In

FragCoord

Screen-space coordinate of the fragment center
FragCoord

Decorating a variable with the FragCoord built-in decoration will make that variable contain the framebuffer coordinate (x,y,z,1w)(x,y,z,\frac{1}{w}) of the fragment being processed. The (x,y) coordinate (0,0) is the upper left corner of the upper left pixel in the framebuffer.

When Sample Shading is enabled, the x and y components of FragCoord reflect the location of one of the samples corresponding to the shader invocation.

Otherwise, the x and y components of FragCoord reflect the location of the center of the fragment.

The z component of FragCoord is the interpolated depth value of the primitive.

The w component is the interpolated 1w\frac{1}{w}.

The Centroid interpolation decoration is ignored, but allowed, on FragCoord.

Valid Usage

VUID-FragCoord-FragCoord-04210

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

VUID-FragCoord-FragCoord-04211

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

VUID-FragCoord-FragCoord-04212

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