I've since discovered the fragment shader sample mask system value (which corresponds to gl_SampleMaskIn).
v2: It's a system value, not a shader input. --- src/gallium/docs/source/tgsi.rst | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst index 5c2bd29..9cc397b 100644 --- a/src/gallium/docs/source/tgsi.rst +++ b/src/gallium/docs/source/tgsi.rst @@ -3328,10 +3328,17 @@ the center of the fragment. TGSI_SEMANTIC_SAMPLEMASK """""""""""""""""""""""" -For fragment shaders, this semantic label indicates that an output contains -the sample mask used to disable further sample processing. The output's -type is uint[4] but only the X component is used (i.e. gl_SampleMask[0]). -Each bit corresponds to one sample position (up to 32x MSAA is supported). +For fragment shaders, this semantic label can be applied to either a +shader system value input or output. + +For a system value, the sample mask indicates the set of samples covered by +the current primitive. If MSAA is not enabled, the value is (1, 0, 0, 0). + +For an output, the sample mask is used to disable further sample processing. + +For both, the register type is uint[4] but only the X component is used +(i.e. gl_SampleMask[0]). Each bit corresponds to one sample position (up +to 32x MSAA is supported). TGSI_SEMANTIC_INVOCATIONID """""""""""""""""""""""""" -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev