Hi Curro,
This series looks good to me :)

Reviewed-by: Plamena Manolova <plamena.manol...@intel.com>

On Fri, Apr 21, 2017 at 11:49 AM, Francisco Jerez <curroje...@riseup.net>
wrote:

> Until now the spilling cost calculation was neglecting the amount of
> data read from the register during the spilling cost calculation.
> This caused it to make suboptimal decisions in some cases leading to
> higher memory bandwidth usage than necessary.
>
> Improves Unigine Heaven performance by ~4% on BDW, reversing an
> unintended FPS regression from my previous commit
> 147e71242ce539ff28e282f009c332818c35f5ac with n=12 and statistical
> significance 5%.  In addition SynMark2 OglCSDof performance is
> improved by an additional ~5% on SKL, and a Kerbal Space Program
> apitrace around the Moho planet I can provide on request improves by
> ~20%.
>
> Cc: <mesa-sta...@lists.freedesktop.org>
> ---
>  src/intel/compiler/brw_fs_reg_allocate.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/intel/compiler/brw_fs_reg_allocate.cpp
> b/src/intel/compiler/brw_fs_reg_allocate.cpp
> index 2d4d46e..ec8e116 100644
> --- a/src/intel/compiler/brw_fs_reg_allocate.cpp
> +++ b/src/intel/compiler/brw_fs_reg_allocate.cpp
> @@ -822,7 +822,7 @@ fs_visitor::choose_spill_reg(struct ra_graph *g)
>     foreach_block_and_inst(block, fs_inst, inst, cfg) {
>        for (unsigned int i = 0; i < inst->sources; i++) {
>          if (inst->src[i].file == VGRF)
> -            spill_costs[inst->src[i].nr] += block_scale;
> +            spill_costs[inst->src[i].nr] += regs_read(inst, i) *
> block_scale;
>        }
>
>        if (inst->dst.file == VGRF)
> --
> 2.10.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to