From 4a7f9feadab2435f25427345070262fcc719e7f3 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 10 Aug 2018 09:13:47 -0400 Subject: [PATCH] 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 --- src/compiler/shader_enums.c | 1 + src/compiler/shader_enums.h | 6 ++++++ src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 + 3 files changed, 8 insertions(+) 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; -- 2.30.2