summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi/tgsi_exec.h
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2015-05-27 17:35:32 +1000
committerDave Airlie <[email protected]>2019-04-09 11:19:38 +1000
commit00fe67c01545030a10387fe939275bae2da2d7dd (patch)
tree6bf0356b3aa6a756d2d68bb67ca7abb361047742 /src/gallium/auxiliary/tgsi/tgsi_exec.h
parent333746011d0ac8e7a99587b61fdada3e351b30a3 (diff)
tgsi: add support for geometry shader streams.
This adds support to retrieve the primitive counts for each stream, along with the offset for each primitive into the output array. It also adds support for parsing the stream argument to the emit and end instructions. Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_exec.h')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_exec.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h
index 6d4ac381421..a11b79c6553 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h
@@ -281,7 +281,14 @@ struct tgsi_sampler
#define TGSI_EXEC_TEMP_ADDR (TGSI_EXEC_NUM_TEMPS + 8)
#define TGSI_EXEC_NUM_ADDRS 3
-#define TGSI_EXEC_NUM_TEMP_EXTRAS 12
+#define TGSI_EXEC_TEMP_PRIMITIVE_S1_I (TGSI_EXEC_NUM_TEMPS + 11)
+#define TGSI_EXEC_TEMP_PRIMITIVE_S1_C 0
+#define TGSI_EXEC_TEMP_PRIMITIVE_S2_I (TGSI_EXEC_NUM_TEMPS + 12)
+#define TGSI_EXEC_TEMP_PRIMITIVE_S2_C 1
+#define TGSI_EXEC_TEMP_PRIMITIVE_S3_I (TGSI_EXEC_NUM_TEMPS + 13)
+#define TGSI_EXEC_TEMP_PRIMITIVE_S3_C 2
+
+#define TGSI_EXEC_NUM_TEMP_EXTRAS 14
@@ -312,6 +319,8 @@ struct tgsi_sampler
#define TGSI_MAX_MISC_INPUTS 8
+#define TGSI_MAX_VERTEX_STREAMS 4
+
/** function call/activation record */
struct tgsi_call_record
{
@@ -377,7 +386,8 @@ struct tgsi_exec_machine
enum pipe_shader_type ShaderType; /**< PIPE_SHADER_x */
/* GEOMETRY processor only. */
- unsigned *Primitives;
+ unsigned *Primitives[TGSI_MAX_VERTEX_STREAMS];
+ unsigned *PrimitiveOffsets[TGSI_MAX_VERTEX_STREAMS];
unsigned NumOutputs;
unsigned MaxGeometryShaderOutputs;
unsigned MaxOutputVertices;