[Mesa-dev] [PATCH 3/2] i965: Merge gen7_clip_state atom into gen6_clip_state atom.

Iago Toral itoral at igalia.com
Wed Aug 31 14:05:14 UTC 2016


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 <itoral at igalia.com>

> Signed-off-by: Kenneth Graunke <kenneth at 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,
>     },


More information about the mesa-dev mailing list