summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_gs.h
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@vmware.com>2009-11-11 17:57:56 -0800
committerRoland Scheidegger <sroland@vmware.com>2009-11-11 17:57:56 -0800
commitab12e764ba3f57ad9f0d7252262cfc6e07839928 (patch)
treeeb28587f848d3a70dad5816708667c5c4d7181d9 /src/mesa/drivers/dri/i965/brw_gs.h
parent1220aba99bc78290bb89ade649719508e3031e4b (diff)
i965: fix EXT_provoking_vertex support
This didn't work for quad/quadstrips at all, and for all other primitive types it only worked when they were unclipped. Fix up the former in gs stage (could probably do without these changes and instead set QuadsFollowProvokingVertexConvention to false), and the rest in clip stage.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_gs.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_gs.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_gs.h b/src/mesa/drivers/dri/i965/brw_gs.h
index bbb991ea2e..e0cf07256b 100644
--- a/src/mesa/drivers/dri/i965/brw_gs.h
+++ b/src/mesa/drivers/dri/i965/brw_gs.h
@@ -43,8 +43,9 @@ struct brw_gs_prog_key {
GLuint attrs:32;
GLuint primitive:4;
GLuint hint_gs_always:1;
+ GLuint pv_first:1;
GLuint need_gs_prog:1;
- GLuint pad:26;
+ GLuint pad:25;
};
struct brw_gs_compile {
@@ -67,8 +68,8 @@ struct brw_gs_compile {
#define ATTR_SIZE (4*4)
-void brw_gs_quads( struct brw_gs_compile *c );
-void brw_gs_quad_strip( struct brw_gs_compile *c );
+void brw_gs_quads( struct brw_gs_compile *c, struct brw_gs_prog_key *key );
+void brw_gs_quad_strip( struct brw_gs_compile *c, struct brw_gs_prog_key *key );
void brw_gs_tris( struct brw_gs_compile *c );
void brw_gs_lines( struct brw_gs_compile *c );
void brw_gs_points( struct brw_gs_compile *c );