summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2015-11-11 19:24:01 -0800
committerKenneth Graunke <[email protected]>2015-11-18 10:49:18 -0800
commitb196f1fff31f1528afa84590926c2935d9b0c255 (patch)
tree7f360bde5737e500772d4d7d2651b95f7562ceb8
parent72e232374eda780a5dcd374b55d203d0e2a6d02b (diff)
i965: Add enums for 3DSTATE_TE field values.
3DSTATE_TE has partitioning, output topology, and domain fields, each of which has several enumerated values. We'll also need to switch on the domain, so enums (rather than #defines) seem like a natural fit. I chose to put these in brw_compiler.h because they'll be stored in struct brw_tes_prog_data, which will live there. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_compiler.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_compiler.h b/src/mesa/drivers/dri/i965/brw_compiler.h
index 8f147d3f75a..1ee01eb0661 100644
--- a/src/mesa/drivers/dri/i965/brw_compiler.h
+++ b/src/mesa/drivers/dri/i965/brw_compiler.h
@@ -490,6 +490,34 @@ enum shader_dispatch_mode {
DISPATCH_MODE_SIMD8 = 3,
};
+/**
+ * @defgroup Tessellator parameter enumerations.
+ *
+ * These correspond to the hardware values in 3DSTATE_TE, and are provided
+ * as part of the tessellation evaluation shader.
+ *
+ * @{
+ */
+enum brw_tess_partitioning {
+ BRW_TESS_PARTITIONING_INTEGER = 0,
+ BRW_TESS_PARTITIONING_ODD_FRACTIONAL = 1,
+ BRW_TESS_PARTITIONING_EVEN_FRACTIONAL = 2,
+};
+
+enum brw_tess_output_topology {
+ BRW_TESS_OUTPUT_TOPOLOGY_POINT = 0,
+ BRW_TESS_OUTPUT_TOPOLOGY_LINE = 1,
+ BRW_TESS_OUTPUT_TOPOLOGY_TRI_CW = 2,
+ BRW_TESS_OUTPUT_TOPOLOGY_TRI_CCW = 3,
+};
+
+enum brw_tess_domain {
+ BRW_TESS_DOMAIN_QUAD = 0,
+ BRW_TESS_DOMAIN_TRI = 1,
+ BRW_TESS_DOMAIN_ISOLINE = 2,
+};
+/** @} */
+
struct brw_vue_prog_data {
struct brw_stage_prog_data base;
struct brw_vue_map vue_map;