summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2015-09-11 17:01:23 -0400
committerRob Clark <[email protected]>2015-09-17 19:55:43 -0400
commit4a121e1a90dc34677d9a68e8877dfe53f1e889a2 (patch)
tree2f18d13cdcf8afc658612b97fb3cd02a39f9ec2b
parente523f69b1d2f0cb3ff7659e3c55b9a2e40240c9c (diff)
glsl: add SYSTEM_VALUE_VERTEX_CNT
Used internally in freedreno/ir3 to calc stream-out position. Seems like a generic enough way to implement stream-out (using str instrs), plus it avoids compiler warnings by sneaking in a non-enum value in switch statements. Signed-off-by: Rob Clark <[email protected]>
-rw-r--r--src/glsl/shader_enums.c1
-rw-r--r--src/glsl/shader_enums.h6
2 files changed, 7 insertions, 0 deletions
diff --git a/src/glsl/shader_enums.c b/src/glsl/shader_enums.c
index 530fd9e4081..c196b791d4f 100644
--- a/src/glsl/shader_enums.c
+++ b/src/glsl/shader_enums.c
@@ -169,6 +169,7 @@ const char * gl_system_value_name(gl_system_value sysval)
ENUM(SYSTEM_VALUE_TESS_LEVEL_INNER),
ENUM(SYSTEM_VALUE_LOCAL_INVOCATION_ID),
ENUM(SYSTEM_VALUE_WORK_GROUP_ID),
+ ENUM(SYSTEM_VALUE_VERTEX_CNT),
};
return NAME(sysval);
}
diff --git a/src/glsl/shader_enums.h b/src/glsl/shader_enums.h
index 385ca972809..39780076e74 100644
--- a/src/glsl/shader_enums.h
+++ b/src/glsl/shader_enums.h
@@ -412,6 +412,12 @@ typedef enum
SYSTEM_VALUE_WORK_GROUP_ID,
/*@}*/
+ /**
+ * Driver internal vertex-count, used (for example) for drivers to
+ * calculate stride for stream-out outputs. Not externally visible.
+ */
+ SYSTEM_VALUE_VERTEX_CNT,
+
SYSTEM_VALUE_MAX /**< Number of values */
} gl_system_value;