Mesa (master): compiler: add VARYING_SLOT_VIEWPORT_MASK
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Apr 16 00:42:17 UTC 2020
Module: Mesa
Branch: master
Commit: 54424a3d13f97bb1714f168f127f40d180f78a6b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=54424a3d13f97bb1714f168f127f40d180f78a6b
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Fri Apr 10 13:47:05 2020 -0400
compiler: add VARYING_SLOT_VIEWPORT_MASK
See GL_NV_viewport_array2::gl_ViewportMask for how this is supposed
to work.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4529>
---
src/compiler/shader_enums.c | 1 +
src/compiler/shader_enums.h | 2 ++
src/mesa/main/mtypes.h | 1 +
src/mesa/program/prog_print.c | 2 ++
4 files changed, 6 insertions(+)
diff --git a/src/compiler/shader_enums.c b/src/compiler/shader_enums.c
index 977be6b89e0..a2a5eb82a61 100644
--- a/src/compiler/shader_enums.c
+++ b/src/compiler/shader_enums.c
@@ -165,6 +165,7 @@ gl_varying_slot_name(gl_varying_slot slot)
ENUM(VARYING_SLOT_BOUNDING_BOX0),
ENUM(VARYING_SLOT_BOUNDING_BOX1),
ENUM(VARYING_SLOT_VIEW_INDEX),
+ ENUM(VARYING_SLOT_VIEWPORT_MASK),
ENUM(VARYING_SLOT_VAR0),
ENUM(VARYING_SLOT_VAR1),
ENUM(VARYING_SLOT_VAR2),
diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h
index bf10a14a881..56062894a94 100644
--- a/src/compiler/shader_enums.h
+++ b/src/compiler/shader_enums.h
@@ -261,6 +261,7 @@ typedef enum
VARYING_SLOT_BOUNDING_BOX0, /* Only appears as TCS output. */
VARYING_SLOT_BOUNDING_BOX1, /* Only appears as TCS output. */
VARYING_SLOT_VIEW_INDEX,
+ VARYING_SLOT_VIEWPORT_MASK, /* Does not appear in FS */
VARYING_SLOT_VAR0, /* First generic varying slot */
/* the remaining are simply for the benefit of gl_varying_slot_name()
* and not to be construed as an upper bound:
@@ -343,6 +344,7 @@ const char *gl_varying_slot_name(gl_varying_slot slot);
#define VARYING_BIT_TESS_LEVEL_INNER BITFIELD64_BIT(VARYING_SLOT_TESS_LEVEL_INNER)
#define VARYING_BIT_BOUNDING_BOX0 BITFIELD64_BIT(VARYING_SLOT_BOUNDING_BOX0)
#define VARYING_BIT_BOUNDING_BOX1 BITFIELD64_BIT(VARYING_SLOT_BOUNDING_BOX1)
+#define VARYING_BIT_VIEWPORT_MASK BITFIELD64_BIT(VARYING_SLOT_VIEWPORT_MASK)
#define VARYING_BIT_VAR(V) BITFIELD64_BIT(VARYING_SLOT_VAR0 + (V))
/*@}*/
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 7560a828b32..487e7e6f326 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -105,6 +105,7 @@ _mesa_varying_slot_in_fs(gl_varying_slot slot)
case VARYING_SLOT_TESS_LEVEL_INNER:
case VARYING_SLOT_BOUNDING_BOX0:
case VARYING_SLOT_BOUNDING_BOX1:
+ case VARYING_SLOT_VIEWPORT_MASK:
return GL_FALSE;
default:
return GL_TRUE;
diff --git a/src/mesa/program/prog_print.c b/src/mesa/program/prog_print.c
index 049bef2c634..c34e6cf308a 100644
--- a/src/mesa/program/prog_print.c
+++ b/src/mesa/program/prog_print.c
@@ -165,6 +165,7 @@ arb_input_attrib_string(GLuint index, GLenum progType)
"fragment.(twenty-eight)", /* VARYING_SLOT_BOUNDING_BOX0 */
"fragment.(twenty-nine)", /* VARYING_SLOT_BOUNDING_BOX1 */
"fragment.(thirty)", /* VARYING_SLOT_VIEW_INDEX */
+ "fragment.(thirty-one)", /* VARYING_SLOT_VIEWPORT_MASK */
"fragment.varying[0]",
"fragment.varying[1]",
"fragment.varying[2]",
@@ -297,6 +298,7 @@ arb_output_attrib_string(GLuint index, GLenum progType)
"result.(twenty-eight)", /* VARYING_SLOT_BOUNDING_BOX0 */
"result.(twenty-nine)", /* VARYING_SLOT_BOUNDING_BOX1 */
"result.(thirty)", /* VARYING_SLOT_VIEW_INDEX */
+ "result.(thirty-one)", /* VARYING_SLOT_VIEWPORT_MASK */
"result.varying[0]",
"result.varying[1]",
"result.varying[2]",
More information about the mesa-commit
mailing list