[Mesa-dev] [PATCH 5/7] i965: Drop brw->urb.{nr_*_entries, *_start} assignments from gen7_urb.c.

Pohjolainen, Topi topi.pohjolainen at gmail.com
Wed Nov 16 09:06:44 UTC 2016


On Tue, Nov 15, 2016 at 05:54:00PM -0800, Kenneth Graunke wrote:
> The context fields are for Gen4-5; setting them has always been useless.
> There's no point in spending the cost in the hottest path in the driver.
> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/mesa/drivers/dri/i965/gen7_urb.c | 25 ++++++++-----------------
>  1 file changed, 8 insertions(+), 17 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/gen7_urb.c b/src/mesa/drivers/dri/i965/gen7_urb.c
> index eca0336..61fd774 100644
> --- a/src/mesa/drivers/dri/i965/gen7_urb.c
> +++ b/src/mesa/drivers/dri/i965/gen7_urb.c
> @@ -414,15 +414,6 @@ gen7_upload_urb(struct brw_context *brw, unsigned vs_size,
>        assert(nr_ds_entries >= devinfo->urb.min_entries[MESA_SHADER_TESS_EVAL]);
>     }
>  
> -   /* Gen7 doesn't actually use brw->urb.nr_{vs,gs}_entries, but it seems
> -    * better to put reasonable data in there rather than leave them
> -    * uninitialized.
> -    */
> -   brw->urb.nr_vs_entries = nr_vs_entries;
> -   brw->urb.nr_hs_entries = nr_hs_entries;
> -   brw->urb.nr_ds_entries = nr_ds_entries;
> -   brw->urb.nr_gs_entries = nr_gs_entries;
> -
>     /* Lay out the URB in the following order:
>      * - push constants
>      * - VS
> @@ -430,19 +421,19 @@ gen7_upload_urb(struct brw_context *brw, unsigned vs_size,
>      * - DS
>      * - GS
>      */
> -   brw->urb.vs_start = push_constant_chunks;
> -   brw->urb.hs_start = push_constant_chunks + vs_chunks;
> -   brw->urb.ds_start = push_constant_chunks + vs_chunks + hs_chunks;
> -   brw->urb.gs_start = push_constant_chunks + vs_chunks + hs_chunks +
> +   unsigned vs_start = push_constant_chunks;
> +   unsigned hs_start = push_constant_chunks + vs_chunks;
> +   unsigned ds_start = push_constant_chunks + vs_chunks + hs_chunks;
> +   unsigned gs_start = push_constant_chunks + vs_chunks + hs_chunks +
>                         ds_chunks;

All these four could be const.

>  
>     if (brw->gen == 7 && !brw->is_haswell && !brw->is_baytrail)
>        gen7_emit_vs_workaround_flush(brw);
>     gen7_emit_urb_state(brw,
> -                       brw->urb.nr_vs_entries, vs_size, brw->urb.vs_start,
> -                       brw->urb.nr_hs_entries, hs_size, brw->urb.hs_start,
> -                       brw->urb.nr_ds_entries, ds_size, brw->urb.ds_start,
> -                       brw->urb.nr_gs_entries, gs_size, brw->urb.gs_start);
> +                       nr_vs_entries, vs_size, vs_start,
> +                       nr_hs_entries, hs_size, hs_start,
> +                       nr_ds_entries, ds_size, ds_start,
> +                       nr_gs_entries, gs_size, gs_start);
>  }
>  
>  const struct brw_tracked_state gen7_urb = {
> -- 
> 2.10.2
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list