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 <robdclark@gmail.com>
This commit is contained in:
Rob Clark
2018-08-10 09:13:47 -04:00
parent b5a098b202
commit 4a7f9feada
3 changed files with 8 additions and 0 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;