summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2011-11-22 10:30:36 -0800
committerPaul Berry <stereotype441@gmail.com>2011-12-07 16:38:00 -0800
commitfcae281f067f933d95734a932e66d3111d9f2192 (patch)
tree6c76275fbf9961d1ddd74ab711dafb170571b984
parenta98ceee0ee3692783047c6f8f9f6bf6afbf4dd3b (diff)
i965 gs: Remove unnecessary mapping of key->primitive.
Previously, GS generation code contained a lookup table that mapped primitive types POLYGON, TRISTRIP, and TRIFAN to TRILIST, mapped LINESTRIP to LINELIST, and left all other primitives unchanged. This was silly, because we never generate a GS program for those primitive types anyhow. This patch removes the unnecessary lookup table. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r--src/mesa/drivers/dri/i965/brw_gs.c16
-rw-r--r--src/mesa/drivers/dri/i965/brw_gs.h7
2 files changed, 7 insertions, 16 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_gs.c b/src/mesa/drivers/dri/i965/brw_gs.c
index 91f8d0b5dc..e72ff5e5a8 100644
--- a/src/mesa/drivers/dri/i965/brw_gs.c
+++ b/src/mesa/drivers/dri/i965/brw_gs.c
@@ -122,20 +122,6 @@ static void compile_gs_prog( struct brw_context *brw,
ralloc_free(mem_ctx);
}
-static const GLenum gs_prim[] = {
- [_3DPRIM_POINTLIST] = _3DPRIM_POINTLIST,
- [_3DPRIM_LINELIST] = _3DPRIM_LINELIST,
- [_3DPRIM_LINELOOP] = _3DPRIM_LINELOOP,
- [_3DPRIM_LINESTRIP] = _3DPRIM_LINELIST,
- [_3DPRIM_TRILIST] = _3DPRIM_TRILIST,
- [_3DPRIM_TRISTRIP] = _3DPRIM_TRILIST,
- [_3DPRIM_TRIFAN] = _3DPRIM_TRILIST,
- [_3DPRIM_QUADLIST] = _3DPRIM_QUADLIST,
- [_3DPRIM_QUADSTRIP] = _3DPRIM_QUADSTRIP,
- [_3DPRIM_POLYGON] = _3DPRIM_TRILIST,
- [_3DPRIM_RECTLIST] = _3DPRIM_RECTLIST,
-};
-
static void populate_key( struct brw_context *brw,
struct brw_gs_prog_key *key )
{
@@ -148,7 +134,7 @@ static void populate_key( struct brw_context *brw,
key->attrs = brw->vs.prog_data->outputs_written;
/* BRW_NEW_PRIMITIVE */
- key->primitive = gs_prim[brw->primitive];
+ key->primitive = brw->primitive;
/* _NEW_LIGHT */
key->pv_first = (ctx->Light.ProvokingVertex == GL_FIRST_VERTEX_CONVENTION);
diff --git a/src/mesa/drivers/dri/i965/brw_gs.h b/src/mesa/drivers/dri/i965/brw_gs.h
index 0e4ff3fedf..12889a62e6 100644
--- a/src/mesa/drivers/dri/i965/brw_gs.h
+++ b/src/mesa/drivers/dri/i965/brw_gs.h
@@ -41,7 +41,12 @@
struct brw_gs_prog_key {
GLbitfield64 attrs;
- GLuint primitive:8; /**< Hardware primitive, such as _3DPRIM_TRILIST. */
+
+ /**
+ * Hardware primitive type being drawn, e.g. _3DPRIM_TRILIST.
+ */
+ GLuint primitive:8;
+
GLuint pv_first:1;
GLuint need_gs_prog:1;
GLuint userclip_active:1;