summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2018-08-10 09:13:47 -0400
committerRob Clark <[email protected]>2018-08-14 17:59:02 -0400
commit4a7f9feadab2435f25427345070262fcc719e7f3 (patch)
tree10c3d38384cb427e005b851252726d42efcc5691
parentb5a098b20209305bf0929403915f63106cbe0abd (diff)
compiler: add SYSTEM_VALUE_VARYING_COORD
Used internally in freedreno/ir3 for the vec2 value that hw passes to shader to use as coordinate for bary.f (varying fetch) instruction. This is not the same as SYSTEM_VALUE_FRAG_COORD. Signed-off-by: Rob Clark <[email protected]>
-rw-r--r--src/compiler/shader_enums.c1
-rw-r--r--src/compiler/shader_enums.h6
-rw-r--r--src/mesa/state_tracker/st_glsl_to_tgsi.cpp1
3 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/shader_enums.c b/src/compiler/shader_enums.c
index a874083a0b7..0210b503d3f 100644
--- a/src/compiler/shader_enums.c
+++ b/src/compiler/shader_enums.c
@@ -244,6 +244,7 @@ gl_system_value_name(gl_system_value sysval)
ENUM(SYSTEM_VALUE_DEVICE_INDEX),
ENUM(SYSTEM_VALUE_VIEW_INDEX),
ENUM(SYSTEM_VALUE_VERTEX_CNT),
+ ENUM(SYSTEM_VALUE_VARYING_COORD),
};
STATIC_ASSERT(ARRAY_SIZE(names) == SYSTEM_VALUE_MAX);
return NAME(sysval);
diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h
index f8e22925f35..5c36f55283c 100644
--- a/src/compiler/shader_enums.h
+++ b/src/compiler/shader_enums.h
@@ -601,6 +601,12 @@ typedef enum
*/
SYSTEM_VALUE_VERTEX_CNT,
+ /**
+ * Driver internal varying-coord, used for varying-fetch instructions.
+ * Not externally visible.
+ */
+ SYSTEM_VALUE_VARYING_COORD,
+
SYSTEM_VALUE_MAX /**< Number of values */
} gl_system_value;
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 2b9183abbb8..988f3ca83ee 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -5792,6 +5792,7 @@ _mesa_sysval_to_semantic(unsigned sysval)
case SYSTEM_VALUE_LOCAL_INVOCATION_INDEX:
case SYSTEM_VALUE_GLOBAL_INVOCATION_ID:
case SYSTEM_VALUE_VERTEX_CNT:
+ case SYSTEM_VALUE_VARYING_COORD:
default:
assert(!"Unexpected SYSTEM_VALUE_ enum");
return TGSI_SEMANTIC_COUNT;