[Mesa-dev] [PATCH] i965/fs: Don't compute_to_mrf() in the optimization loop.

Ian Romanick idr at freedesktop.org
Thu Oct 30 09:55:58 PDT 2014


On 10/29/2014 02:31 PM, Matt Turner wrote:
> ... or on Gen >= 7 at all. We use load_payload to gather results for the
> FB write(s) now, so we never write to MRFs directly. It's still called
> after lower_load_payload() since that will generate MOVs to MRFs on
> platforms with MRFs.
> 
> No differences in shader-db on Haswell (Gen 7.5).

But did you try it on a GEN that has MRFs?

> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index aa1d8d2..b223ae5 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -2427,6 +2427,10 @@ fs_visitor::compute_to_mrf()
>     bool progress = false;
>     int next_ip = 0;
>  
> +   /* No MRFs on Gen >= 7. */
> +   if (brw->gen >= 7)
> +      return false;
> +
>     calculate_live_intervals();
>  
>     foreach_block_and_inst_safe(block, fs_inst, inst, cfg) {
> @@ -3575,7 +3579,6 @@ fs_visitor::run()
>           OPT(opt_register_renaming);
>           OPT(opt_saturate_propagation);
>           OPT(register_coalesce);
> -         OPT(compute_to_mrf);
>  
>           OPT(compact_virtual_grfs);
>        } while (progress);
> 



More information about the mesa-dev mailing list