From a407636efb6c32cee81b9a1525dbc804aacd957b Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Tue, 12 Jan 2010 15:54:13 +0100 Subject: gallium: remove point_size_min and point_size_max from rasterizer state The state tracker is responsible for clamping to any graphics API enforced size min/max limits for both the static point_size setting as well as per vertex point size (in the vertex shader). Note that mesa state tracker didn't actually use these values. --- src/gallium/drivers/i965/brw_sf_state.c | 4 +--- src/gallium/drivers/r300/r300_state.c | 8 +++++--- src/gallium/drivers/svga/svga_context.h | 3 +-- src/gallium/drivers/svga/svga_pipe_rasterizer.c | 2 -- src/gallium/drivers/svga/svga_screen.c | 2 +- src/gallium/drivers/svga/svga_state_rss.c | 5 +++-- src/gallium/drivers/trace/tr_dump_state.c | 2 -- 7 files changed, 11 insertions(+), 15 deletions(-) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/i965/brw_sf_state.c b/src/gallium/drivers/i965/brw_sf_state.c index 25dc2b52e0..663a688772 100644 --- a/src/gallium/drivers/i965/brw_sf_state.c +++ b/src/gallium/drivers/i965/brw_sf_state.c @@ -126,9 +126,7 @@ sf_unit_populate_key(struct brw_context *brw, struct brw_sf_unit_key *key) key->point_sprite = rast->point_sprite; key->point_attenuated = rast->point_size_per_vertex; - key->point_size = CLAMP(rast->point_size, - rast->point_size_min, - rast->point_size_max); + key->point_size = rast->point_size; } static enum pipe_error diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 78764ddc98..435e613ddf 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -618,10 +618,12 @@ static void* r300_create_rs_state(struct pipe_context* pipe, rs->point_size = pack_float_16_6x(state->point_size) | (pack_float_16_6x(state->point_size) << R300_POINTSIZE_X_SHIFT); - rs->point_minmax = - ((int)(state->point_size_min * 6.0) << + /* set hw limits - clamping done by state tracker in vs or point_size + XXX always need to emit this? */ + rs->point_minmax = + ((int)(0.0 * 6.0) << R300_GA_POINT_MINMAX_MIN_SHIFT) | - ((int)(state->point_size_max * 6.0) << + ((int)(4096.0 * 6.0) << R300_GA_POINT_MINMAX_MAX_SHIFT); rs->line_control = pack_float_16_6x(state->line_width) | diff --git a/src/gallium/drivers/svga/svga_context.h b/src/gallium/drivers/svga/svga_context.h index 66259fd010..e2a96034d1 100644 --- a/src/gallium/drivers/svga/svga_context.h +++ b/src/gallium/drivers/svga/svga_context.h @@ -37,6 +37,7 @@ #define SVGA_TEX_UNITS 8 +#define SVGA_MAX_POINTSIZE 80.0 struct draw_vertex_shader; struct svga_shader_result; @@ -145,8 +146,6 @@ struct svga_rasterizer_state { float slopescaledepthbias; float depthbias; float pointsize; - float pointsize_min; - float pointsize_max; unsigned hw_unfilled:16; /* PIPE_POLYGON_MODE_x */ unsigned need_pipeline:16; /* which prims do we need help for? */ diff --git a/src/gallium/drivers/svga/svga_pipe_rasterizer.c b/src/gallium/drivers/svga/svga_pipe_rasterizer.c index b03f8eb9cf..b5ecc4c56c 100644 --- a/src/gallium/drivers/svga/svga_pipe_rasterizer.c +++ b/src/gallium/drivers/svga/svga_pipe_rasterizer.c @@ -88,8 +88,6 @@ svga_create_rasterizer_state(struct pipe_context *pipe, rast->antialiasedlineenable = templ->line_smooth; rast->lastpixel = templ->line_last_pixel; rast->pointsize = templ->point_size; - rast->pointsize_min = templ->point_size_min; - rast->pointsize_max = templ->point_size_max; rast->hw_unfilled = PIPE_POLYGON_MODE_FILL; /* Use swtnl + decomposition implement these: diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index fc1b3c980e..45b5d85ae2 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -103,7 +103,7 @@ svga_get_paramf(struct pipe_screen *screen, int param) /* Keep this to a reasonable size to avoid failures in * conform/pntaa.c: */ - return 80.0; + return SVGA_MAX_POINTSIZE; case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: return 4.0; diff --git a/src/gallium/drivers/svga/svga_state_rss.c b/src/gallium/drivers/svga/svga_state_rss.c index 8b6803a285..c582e44524 100644 --- a/src/gallium/drivers/svga/svga_state_rss.c +++ b/src/gallium/drivers/svga/svga_state_rss.c @@ -196,8 +196,9 @@ static int emit_rss( struct svga_context *svga, EMIT_RS( svga, curr->lastpixel, LASTPIXEL, fail ); EMIT_RS( svga, curr->linepattern, LINEPATTERN, fail ); EMIT_RS_FLOAT( svga, curr->pointsize, POINTSIZE, fail ); - EMIT_RS_FLOAT( svga, curr->pointsize_min, POINTSIZEMIN, fail ); - EMIT_RS_FLOAT( svga, curr->pointsize_max, POINTSIZEMAX, fail ); + /* XXX still need to set this? */ + EMIT_RS_FLOAT( svga, 0.0, POINTSIZEMIN, fail ); + EMIT_RS_FLOAT( svga, SVGA_MAX_POINTSIZE, POINTSIZEMAX, fail ); } if (dirty & (SVGA_NEW_RAST | SVGA_NEW_FRAME_BUFFER | SVGA_NEW_NEED_PIPELINE)) diff --git a/src/gallium/drivers/trace/tr_dump_state.c b/src/gallium/drivers/trace/tr_dump_state.c index 86237e03bc..0e7b7ec123 100644 --- a/src/gallium/drivers/trace/tr_dump_state.c +++ b/src/gallium/drivers/trace/tr_dump_state.c @@ -126,8 +126,6 @@ void trace_dump_rasterizer_state(const struct pipe_rasterizer_state *state) trace_dump_member(float, state, line_width); trace_dump_member(float, state, point_size); - trace_dump_member(float, state, point_size_min); - trace_dump_member(float, state, point_size_max); trace_dump_member(float, state, offset_units); trace_dump_member(float, state, offset_scale); -- cgit v1.2.3 From 4a4daa75a85db22cd37ebd533ebbccb427e07077 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Wed, 3 Feb 2010 17:25:14 +0100 Subject: gallium: clean up point sprite rasterizer state Don't need sprite coord origin per coord. Also, don't need separate sprite enable bit - if all coords have it diabled, then there are no point sprites (technically, there's a distinction in pre-GL3, but it only differs in having more leniency in clamping to max size, something the state tracker would need to handle and the hardware won't bother anyway). Also, use packed field for the per-coord enables. All in all, should save 3 dwords in rasterizer state (from 10 down to 7). --- src/gallium/drivers/i965/brw_sf.c | 17 +++++++++-------- src/gallium/drivers/i965/brw_sf_state.c | 2 +- src/gallium/drivers/nv10/nv10_state.c | 4 ++-- src/gallium/drivers/nv20/nv20_state.c | 4 ++-- src/gallium/drivers/nv30/nv30_state.c | 4 ++-- src/gallium/drivers/nv40/nv40_state.c | 4 ++-- src/gallium/drivers/nv50/nv50_program.c | 14 ++++++-------- src/gallium/drivers/nv50/nv50_state.c | 2 +- src/gallium/drivers/softpipe/sp_video_context.c | 3 +-- src/gallium/drivers/svga/svga_pipe_rasterizer.c | 2 +- src/gallium/drivers/trace/tr_dump_state.c | 5 ++--- 11 files changed, 29 insertions(+), 32 deletions(-) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/i965/brw_sf.c b/src/gallium/drivers/i965/brw_sf.c index e1986a9dbb..fc3102b531 100644 --- a/src/gallium/drivers/i965/brw_sf.c +++ b/src/gallium/drivers/i965/brw_sf.c @@ -128,6 +128,7 @@ static enum pipe_error compile_sf_prog( struct brw_context *brw, static enum pipe_error upload_sf_prog(struct brw_context *brw) { const struct brw_fs_signature *sig = &brw->curr.fragment_shader->signature; + const struct pipe_rasterizer_state *rast = &brw->curr.rast->templ; struct brw_sf_prog_key key; enum pipe_error ret; unsigned i; @@ -166,8 +167,8 @@ static enum pipe_error upload_sf_prog(struct brw_context *brw) case PIPE_PRIM_TRIANGLES: /* PIPE_NEW_RAST */ - if (brw->curr.rast->templ.fill_cw != PIPE_POLYGON_MODE_FILL || - brw->curr.rast->templ.fill_ccw != PIPE_POLYGON_MODE_FILL) + if (rast->fill_cw != PIPE_POLYGON_MODE_FILL || + rast->fill_ccw != PIPE_POLYGON_MODE_FILL) key.primitive = SF_UNFILLED_TRIS; else key.primitive = SF_TRIANGLES; @@ -180,14 +181,14 @@ static enum pipe_error upload_sf_prog(struct brw_context *brw) break; } - key.do_point_sprite = brw->curr.rast->templ.point_sprite; - key.sprite_origin_lower_left = 0; /* XXX: ctx->Point.SpriteOrigin - fix rast state */ - key.do_flat_shading = brw->curr.rast->templ.flatshade; - key.do_twoside_color = brw->curr.rast->templ.light_twoside; + key.do_point_sprite = rast->sprite_coord_enable ? 1 : 0; + key.sprite_origin_lower_left = (rast->sprite_coord_mode == PIPE_SPRITE_COORD_LOWER_LEFT); + key.point_coord_replace_attrs = rast->sprite_coord_enable; + key.do_flat_shading = rast->flatshade; + key.do_twoside_color = rast->light_twoside; if (key.do_twoside_color) { - key.frontface_ccw = (brw->curr.rast->templ.front_winding == - PIPE_WINDING_CCW); + key.frontface_ccw = (rast->front_winding == PIPE_WINDING_CCW); } if (brw_search_cache(&brw->cache, BRW_SF_PROG, diff --git a/src/gallium/drivers/i965/brw_sf_state.c b/src/gallium/drivers/i965/brw_sf_state.c index 663a688772..0ad91e0307 100644 --- a/src/gallium/drivers/i965/brw_sf_state.c +++ b/src/gallium/drivers/i965/brw_sf_state.c @@ -123,7 +123,7 @@ sf_unit_populate_key(struct brw_context *brw, struct brw_sf_unit_key *key) key->line_last_pixel_enable = rast->line_last_pixel; key->gl_rasterization_rules = rast->gl_rasterization_rules; - key->point_sprite = rast->point_sprite; + key->point_sprite = rast->sprite_coord_enable ? 1 : 0; key->point_attenuated = rast->point_size_per_vertex; key->point_size = rast->point_size; diff --git a/src/gallium/drivers/nv10/nv10_state.c b/src/gallium/drivers/nv10/nv10_state.c index ffc6be3c40..6f674d6e13 100644 --- a/src/gallium/drivers/nv10/nv10_state.c +++ b/src/gallium/drivers/nv10/nv10_state.c @@ -299,10 +299,10 @@ nv10_rasterizer_state_create(struct pipe_context *pipe, break; } - if (cso->point_sprite) { + if (cso->sprite_coord_enable) { rs->point_sprite = (1 << 0); for (i = 0; i < 8; i++) { - if (cso->sprite_coord_mode[i] != PIPE_SPRITE_COORD_NONE) + if ((cso->sprite_coord_enable >> i) & 1) rs->point_sprite |= (1 << (8 + i)); } } else { diff --git a/src/gallium/drivers/nv20/nv20_state.c b/src/gallium/drivers/nv20/nv20_state.c index 3a82e63423..3d9a276fa1 100644 --- a/src/gallium/drivers/nv20/nv20_state.c +++ b/src/gallium/drivers/nv20/nv20_state.c @@ -292,10 +292,10 @@ nv20_rasterizer_state_create(struct pipe_context *pipe, break; } - if (cso->point_sprite) { + if (cso->sprite_coord_enable) { rs->point_sprite = (1 << 0); for (i = 0; i < 8; i++) { - if (cso->sprite_coord_mode[i] != PIPE_SPRITE_COORD_NONE) + if ((cso->sprite_coord_enable >> i) & 1) rs->point_sprite |= (1 << (8 + i)); } } else { diff --git a/src/gallium/drivers/nv30/nv30_state.c b/src/gallium/drivers/nv30/nv30_state.c index a80dfb0488..ab9fc5293c 100644 --- a/src/gallium/drivers/nv30/nv30_state.c +++ b/src/gallium/drivers/nv30/nv30_state.c @@ -391,11 +391,11 @@ nv30_rasterizer_state_create(struct pipe_context *pipe, } so_method(so, rankine, NV34TCL_POINT_SPRITE, 1); - if (cso->point_sprite) { + if (cso->sprite_coord_enable) { unsigned psctl = (1 << 0), i; for (i = 0; i < 8; i++) { - if (cso->sprite_coord_mode[i] != PIPE_SPRITE_COORD_NONE) + if ((cso->sprite_coord_enable >> i) & 1) psctl |= (1 << (8 + i)); } diff --git a/src/gallium/drivers/nv40/nv40_state.c b/src/gallium/drivers/nv40/nv40_state.c index ed0ca9e02c..a5c5e291f3 100644 --- a/src/gallium/drivers/nv40/nv40_state.c +++ b/src/gallium/drivers/nv40/nv40_state.c @@ -401,11 +401,11 @@ nv40_rasterizer_state_create(struct pipe_context *pipe, } so_method(so, curie, NV40TCL_POINT_SPRITE, 1); - if (cso->point_sprite) { + if (cso->sprite_coord_enable) { unsigned psctl = (1 << 0), i; for (i = 0; i < 8; i++) { - if (cso->sprite_coord_mode[i] != PIPE_SPRITE_COORD_NONE) + if ((cso->sprite_coord_enable >> i) & 1) psctl |= (1 << (8 + i)); } diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c index e16fa479e5..593d743603 100644 --- a/src/gallium/drivers/nv50/nv50_program.c +++ b/src/gallium/drivers/nv50/nv50_program.c @@ -4067,15 +4067,13 @@ nv50_pntc_replace(struct nv50_context *nv50, uint32_t pntc[8], unsigned base) } if (j < vp->info.num_outputs) { - ubyte mode = - nv50->rasterizer->pipe.sprite_coord_mode[si]; + ubyte enable = + (nv50->rasterizer->pipe.sprite_coord_enable >> si) & 1; - if (mode == PIPE_SPRITE_COORD_NONE) { + if (enable == 0) { m += n; continue; - } else - if (mode == PIPE_SPRITE_COORD_LOWER_LEFT) - origin = 0; + } } /* this is either PointCoord or replaced by sprite coords */ @@ -4086,7 +4084,7 @@ nv50_pntc_replace(struct nv50_context *nv50, uint32_t pntc[8], unsigned base) ++m; } } - return origin; + return (nv50->rasterizer->pipe.sprite_coord_mode == PIPE_SPRITE_COORD_LOWER_LEFT ? 0 : origin); } static int @@ -4202,7 +4200,7 @@ nv50_linkage_validate(struct nv50_context *nv50) so_method(so, tesla, NV50TCL_NOPERSPECTIVE_BITMAP(0), 4); so_datap (so, lin, 4); - if (nv50->rasterizer->pipe.point_sprite) { + if (nv50->rasterizer->pipe.sprite_coord_enable) { so_method(so, tesla, NV50TCL_POINT_SPRITE_CTRL, 1); so_data (so, nv50_pntc_replace(nv50, pcrd, (reg[4] >> 8) & 0xff)); diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c index 1f67df814b..cbe2f349c2 100644 --- a/src/gallium/drivers/nv50/nv50_state.c +++ b/src/gallium/drivers/nv50/nv50_state.c @@ -318,7 +318,7 @@ nv50_rasterizer_state_create(struct pipe_context *pipe, so_data (so, fui(cso->point_size)); so_method(so, tesla, NV50TCL_POINT_SPRITE_ENABLE, 1); - so_data (so, cso->point_sprite); + so_data (so, cso->sprite_coord_enable ? 1 : 0); so_method(so, tesla, NV50TCL_POLYGON_MODE_FRONT, 3); if (cso->front_winding == PIPE_WINDING_CCW) { diff --git a/src/gallium/drivers/softpipe/sp_video_context.c b/src/gallium/drivers/softpipe/sp_video_context.c index cae2d3efc5..7dde3c1330 100644 --- a/src/gallium/drivers/softpipe/sp_video_context.c +++ b/src/gallium/drivers/softpipe/sp_video_context.c @@ -167,7 +167,7 @@ init_pipe_state(struct sp_mpeg12_context *ctx) rast.scissor = 0; rast.poly_smooth = 0; rast.poly_stipple_enable = 0; - rast.point_sprite = 0; + rast.sprite_coord_enable = 0; rast.point_size_per_vertex = 0; rast.multisample = 0; rast.line_smooth = 0; @@ -181,7 +181,6 @@ init_pipe_state(struct sp_mpeg12_context *ctx) rast.point_size = 1; rast.offset_units = 1; rast.offset_scale = 1; - /*rast.sprite_coord_mode[i] = ;*/ ctx->rast = ctx->pipe->create_rasterizer_state(ctx->pipe, &rast); ctx->pipe->bind_rasterizer_state(ctx->pipe, ctx->rast); diff --git a/src/gallium/drivers/svga/svga_pipe_rasterizer.c b/src/gallium/drivers/svga/svga_pipe_rasterizer.c index b5ecc4c56c..0a613cb553 100644 --- a/src/gallium/drivers/svga/svga_pipe_rasterizer.c +++ b/src/gallium/drivers/svga/svga_pipe_rasterizer.c @@ -71,7 +71,7 @@ svga_create_rasterizer_state(struct pipe_context *pipe, /* light_twoside - XXX: need fragment shader varient */ /* poly_smooth - XXX: no fallback available */ /* poly_stipple_enable - draw module */ - /* point_sprite - ? */ + /* sprite_coord_enable - ? */ /* point_size_per_vertex - ? */ /* sprite_coord_mode - ??? */ /* bypass_vs_viewport_and_clip - handled by viewport setup */ diff --git a/src/gallium/drivers/trace/tr_dump_state.c b/src/gallium/drivers/trace/tr_dump_state.c index 0e7b7ec123..ed327f60f0 100644 --- a/src/gallium/drivers/trace/tr_dump_state.c +++ b/src/gallium/drivers/trace/tr_dump_state.c @@ -112,7 +112,8 @@ void trace_dump_rasterizer_state(const struct pipe_rasterizer_state *state) trace_dump_member(bool, state, poly_smooth); trace_dump_member(bool, state, poly_stipple_enable); trace_dump_member(bool, state, point_smooth); - trace_dump_member(bool, state, point_sprite); + trace_dump_member(uint, state, sprite_coord_enable); + trace_dump_member(bool, state, sprite_coord_mode); trace_dump_member(bool, state, point_size_per_vertex); trace_dump_member(bool, state, multisample); trace_dump_member(bool, state, line_smooth); @@ -129,8 +130,6 @@ void trace_dump_rasterizer_state(const struct pipe_rasterizer_state *state) trace_dump_member(float, state, offset_units); trace_dump_member(float, state, offset_scale); - trace_dump_member_array(uint, state, sprite_coord_mode); - trace_dump_struct_end(); } -- cgit v1.2.3 From 68f93ea3eb83cfad014b8ec93cec3564c1aa9833 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Thu, 4 Feb 2010 21:35:28 +0100 Subject: gallium: add point_quad_rasterization bit to rasterizer state This determines if points should be rasterized according to GL point rules or as normal quads (GL point sprites / d3d points / d3d point sprites). --- src/gallium/drivers/nv30/nv30_state.c | 2 +- src/gallium/drivers/nv40/nv40_state.c | 2 +- src/gallium/drivers/nv50/nv50_state.c | 2 +- src/gallium/drivers/softpipe/sp_video_context.c | 1 + src/gallium/drivers/svga/svga_pipe_rasterizer.c | 1 + src/gallium/drivers/trace/tr_dump_state.c | 1 + 6 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/nv30/nv30_state.c b/src/gallium/drivers/nv30/nv30_state.c index ab9fc5293c..66096de61e 100644 --- a/src/gallium/drivers/nv30/nv30_state.c +++ b/src/gallium/drivers/nv30/nv30_state.c @@ -391,7 +391,7 @@ nv30_rasterizer_state_create(struct pipe_context *pipe, } so_method(so, rankine, NV34TCL_POINT_SPRITE, 1); - if (cso->sprite_coord_enable) { + if (cso->point_quad_rasterization) { unsigned psctl = (1 << 0), i; for (i = 0; i < 8; i++) { diff --git a/src/gallium/drivers/nv40/nv40_state.c b/src/gallium/drivers/nv40/nv40_state.c index a5c5e291f3..5084c48eeb 100644 --- a/src/gallium/drivers/nv40/nv40_state.c +++ b/src/gallium/drivers/nv40/nv40_state.c @@ -401,7 +401,7 @@ nv40_rasterizer_state_create(struct pipe_context *pipe, } so_method(so, curie, NV40TCL_POINT_SPRITE, 1); - if (cso->sprite_coord_enable) { + if (cso->point_quad_rasterization) { unsigned psctl = (1 << 0), i; for (i = 0; i < 8; i++) { diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c index cbe2f349c2..f19a21d5cc 100644 --- a/src/gallium/drivers/nv50/nv50_state.c +++ b/src/gallium/drivers/nv50/nv50_state.c @@ -318,7 +318,7 @@ nv50_rasterizer_state_create(struct pipe_context *pipe, so_data (so, fui(cso->point_size)); so_method(so, tesla, NV50TCL_POINT_SPRITE_ENABLE, 1); - so_data (so, cso->sprite_coord_enable ? 1 : 0); + so_data (so, cso->point_quad_rasterization ? 1 : 0); so_method(so, tesla, NV50TCL_POLYGON_MODE_FRONT, 3); if (cso->front_winding == PIPE_WINDING_CCW) { diff --git a/src/gallium/drivers/softpipe/sp_video_context.c b/src/gallium/drivers/softpipe/sp_video_context.c index 7dde3c1330..cfa2a0b2f1 100644 --- a/src/gallium/drivers/softpipe/sp_video_context.c +++ b/src/gallium/drivers/softpipe/sp_video_context.c @@ -178,6 +178,7 @@ init_pipe_state(struct sp_mpeg12_context *ctx) rast.bypass_vs_clip_and_viewport = 0; rast.line_width = 1; rast.point_smooth = 0; + rast.point_quad_rasterization = 0; rast.point_size = 1; rast.offset_units = 1; rast.offset_scale = 1; diff --git a/src/gallium/drivers/svga/svga_pipe_rasterizer.c b/src/gallium/drivers/svga/svga_pipe_rasterizer.c index 0a613cb553..09ccb71884 100644 --- a/src/gallium/drivers/svga/svga_pipe_rasterizer.c +++ b/src/gallium/drivers/svga/svga_pipe_rasterizer.c @@ -72,6 +72,7 @@ svga_create_rasterizer_state(struct pipe_context *pipe, /* poly_smooth - XXX: no fallback available */ /* poly_stipple_enable - draw module */ /* sprite_coord_enable - ? */ + /* point_quad_rasterization - ? */ /* point_size_per_vertex - ? */ /* sprite_coord_mode - ??? */ /* bypass_vs_viewport_and_clip - handled by viewport setup */ diff --git a/src/gallium/drivers/trace/tr_dump_state.c b/src/gallium/drivers/trace/tr_dump_state.c index ed327f60f0..720b6cd1ff 100644 --- a/src/gallium/drivers/trace/tr_dump_state.c +++ b/src/gallium/drivers/trace/tr_dump_state.c @@ -114,6 +114,7 @@ void trace_dump_rasterizer_state(const struct pipe_rasterizer_state *state) trace_dump_member(bool, state, point_smooth); trace_dump_member(uint, state, sprite_coord_enable); trace_dump_member(bool, state, sprite_coord_mode); + trace_dump_member(bool, state, point_quad_rasterization); trace_dump_member(bool, state, point_size_per_vertex); trace_dump_member(bool, state, multisample); trace_dump_member(bool, state, line_smooth); -- cgit v1.2.3