On Tue, 2016-08-30 at 21:51 -0700, Kenneth Graunke wrote: > The original motivation was that gen6_clip_state ignored _NEW_POLYGON > as it didn't care about early culling. The only other change was > that > Gen6 ignored BRW_NEW_TES_PROG_DATA as it doesn't have tessellation > shaders, but listening to this is harmless as it'll never be > signalled. > > Now that we've added _NEW_POLYGON for is_drawing_lines/points, we can > merge the two as the distinction is meaningless. > > This actually fixes a bug, though: Gen8+ was using the > gen6_clip_state > atom because it doesn't care about early culling, but it also needs > BRW_NEW_TES_PROG_DATA, which was missing.
Cool! :) Reviewed-by: Iago Toral Quiroga <ito...@igalia.com> > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/brw_state.h | 1 - > src/mesa/drivers/dri/i965/brw_state_upload.c | 2 +- > src/mesa/drivers/dri/i965/gen6_clip_state.c | 18 ------------------ > 3 files changed, 1 insertion(+), 20 deletions(-) > > And here's another patch in the area. > > diff --git a/src/mesa/drivers/dri/i965/brw_state.h > b/src/mesa/drivers/dri/i965/brw_state.h > index 43bab9e..bfcdf29 100644 > --- a/src/mesa/drivers/dri/i965/brw_state.h > +++ b/src/mesa/drivers/dri/i965/brw_state.h > @@ -131,7 +131,6 @@ extern const struct brw_tracked_state > gen6_vs_state; > extern const struct brw_tracked_state gen6_wm_push_constants; > extern const struct brw_tracked_state gen6_wm_state; > extern const struct brw_tracked_state gen7_depthbuffer; > -extern const struct brw_tracked_state gen7_clip_state; > extern const struct brw_tracked_state gen7_ds_state; > extern const struct brw_tracked_state gen7_gs_state; > extern const struct brw_tracked_state gen7_tcs_push_constants; > diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c > b/src/mesa/drivers/dri/i965/brw_state_upload.c > index 69acf3b..60f3be6 100644 > --- a/src/mesa/drivers/dri/i965/brw_state_upload.c > +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c > @@ -237,7 +237,7 @@ static const struct brw_tracked_state > *gen7_render_atoms[] = > &gen7_ds_state, > &gen7_gs_state, > &gen7_sol_state, > - &gen7_clip_state, > + &gen6_clip_state, > &gen7_sbe_state, > &gen7_sf_state, > &gen7_wm_state, > diff --git a/src/mesa/drivers/dri/i965/gen6_clip_state.c > b/src/mesa/drivers/dri/i965/gen6_clip_state.c > index 1c5b944..7dc9740 100644 > --- a/src/mesa/drivers/dri/i965/gen6_clip_state.c > +++ b/src/mesa/drivers/dri/i965/gen6_clip_state.c > @@ -267,24 +267,6 @@ const struct brw_tracked_state gen6_clip_state = > { > BRW_NEW_META_IN_PROGRESS | > BRW_NEW_PRIMITIVE | > BRW_NEW_RASTERIZER_DISCARD | > - BRW_NEW_VUE_MAP_GEOM_OUT, > - }, > - .emit = upload_clip_state, > -}; > - > -const struct brw_tracked_state gen7_clip_state = { > - .dirty = { > - .mesa = _NEW_BUFFERS | > - _NEW_LIGHT | > - _NEW_POLYGON | > - _NEW_TRANSFORM, > - .brw = BRW_NEW_BLORP | > - BRW_NEW_CONTEXT | > - BRW_NEW_FS_PROG_DATA | > - BRW_NEW_GS_PROG_DATA | > - BRW_NEW_META_IN_PROGRESS | > - BRW_NEW_PRIMITIVE | > - BRW_NEW_RASTERIZER_DISCARD | > BRW_NEW_TES_PROG_DATA | > BRW_NEW_VUE_MAP_GEOM_OUT, > }, _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev