diff options
author | Kenneth Graunke <[email protected]> | 2016-08-25 23:00:13 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2016-08-31 11:50:15 -0700 |
commit | cd19db4ee61b6182b31ef8dfa1981ea59cfa34c4 (patch) | |
tree | a087d71b055b1d4aae3e7abb408c3031111992cb /src/mesa/drivers/dri/i965/gen7_sf_state.c | |
parent | 3df8615dcd67af4cbe1a65bcb15231320202f4e8 (diff) |
i965: Fix missing dirty bits related to is_drawing_points/lines.
calculate_attr_overrides() uses is_drawing_points(), which depends
on tessellation and geometry program state, as well as polygon state.
v2: Add missing _NEW_POLYGON as well. Caught by Iago Toral.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen7_sf_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen7_sf_state.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/gen7_sf_state.c b/src/mesa/drivers/dri/i965/gen7_sf_state.c index ba0592a1656..8727bf86efd 100644 --- a/src/mesa/drivers/dri/i965/gen7_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sf_state.c @@ -59,8 +59,10 @@ upload_sbe_state(struct brw_context *brw) } dw1 |= point_sprite_origin; - /* BRW_NEW_VUE_MAP_GEOM_OUT | BRW_NEW_FRAGMENT_PROGRAM - * _NEW_POINT | _NEW_LIGHT | _NEW_PROGRAM | BRW_NEW_FS_PROG_DATA + /* _NEW_POINT | _NEW_LIGHT | _NEW_PROGRAM, + * BRW_NEW_FS_PROG_DATA | BRW_NEW_FRAGMENT_PROGRAM | + * BRW_NEW_GEOMETRY_PROGRAM | BRW_NEW_PRIMITIVE | BRW_NEW_TES_PROG_DATA | + * BRW_NEW_VUE_MAP_GEOM_OUT */ uint32_t urb_entry_read_length; uint32_t urb_entry_read_offset; @@ -90,12 +92,14 @@ const struct brw_tracked_state gen7_sbe_state = { .mesa = _NEW_BUFFERS | _NEW_LIGHT | _NEW_POINT | + _NEW_POLYGON | _NEW_PROGRAM, .brw = BRW_NEW_BLORP | BRW_NEW_CONTEXT | BRW_NEW_FRAGMENT_PROGRAM | BRW_NEW_FS_PROG_DATA | BRW_NEW_GEOMETRY_PROGRAM | + BRW_NEW_TES_PROG_DATA | BRW_NEW_PRIMITIVE | BRW_NEW_VUE_MAP_GEOM_OUT, }, @@ -187,7 +191,9 @@ upload_sf_state(struct brw_context *brw) dw2 |= GEN6_SF_CULL_NONE; } - /* _NEW_SCISSOR _NEW_POLYGON BRW_NEW_GEOMETRY_PROGRAM BRW_NEW_PRIMITIVE */ + /* _NEW_SCISSOR | _NEW_POLYGON, + * BRW_NEW_GEOMETRY_PROGRAM | BRW_NEW_PRIMITIVE | BRW_NEW_TES_PROG_DATA + */ if (ctx->Scissor.EnableFlags || brw_is_drawing_points(brw) || brw_is_drawing_lines(brw)) dw2 |= GEN6_SF_SCISSOR_ENABLE; @@ -256,7 +262,9 @@ const struct brw_tracked_state gen7_sf_state = { _NEW_SCISSOR, .brw = BRW_NEW_BLORP | BRW_NEW_CONTEXT | + BRW_NEW_GEOMETRY_PROGRAM | BRW_NEW_PRIMITIVE | + BRW_NEW_TES_PROG_DATA | BRW_NEW_VUE_MAP_GEOM_OUT, }, .emit = upload_sf_state, |