On 06/12/2017 11:49 AM, Nicolai Hähnle wrote:
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.

DX docs (as usual) don't say.  I'd be ok with (1, undef, undef, undef).

I was just trying to indicate "all samples enabled".

-Brian



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
  """"""""""""""""""""""""""




_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to