[Mesa-dev] [PATCH 2/2] gallium/docs: clarify TGSI_SEMANTIC_SAMPLEMASK, again
Nicolai Hähnle
nhaehnle at gmail.com
Mon Jun 12 17:49:03 UTC 2017
On 12.06.2017 19:37, Brian Paul wrote:
> I've since discovered the fragment shader sample mask input (which
> corresponds to gl_SampleMaskIn).
> ---
> 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 310b49d..7ca07dd 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 input or output.
> +
> +For an input, the sample mask indicates the set of samples covered by
> +the current primitive. If MSAA is not enabled, the value is (~0, ~0, ~0, ~0).
This doesn't match radeonsi behavior. I think you may get (1, ?, ?, ?)
without MSAA, although I've never tried, and if DX says you get ~0, then
perhaps that's actually what our hardware does.
But what I'm certain about is that trying to use the yzw components will
lead to a shader compiler assertion :-)
Cheers,
Nicolai
> +
> +For an output, the sample mask is used to disable further sample processing.
> +
> +For both inputs and outputs, 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
> """"""""""""""""""""""""""
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list