[Mesa-dev] [PATCH 1/5] i965/fs: Add a note explaining a detail of register_coalesce_2().

Kenneth Graunke kenneth at whitecape.org
Fri Dec 14 16:00:19 PST 2012


On 12/11/2012 01:42 PM, Eric Anholt wrote:
> ---
>   src/mesa/drivers/dri/i965/brw_fs.cpp |   21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index f428a83..c520364 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -1846,7 +1846,28 @@ fs_visitor::register_coalesce_2()
>         }
>
>         inst->remove();
> +
> +      /* We don't need to recalculate live intervals inside the loop despite
> +       * flagging live_intervals_valid because we only use live intervals for
> +       * the interferes test, and we must have had a situation where the
> +       * intervals were:
> +       *
> +       *  from  to
> +       *  ^
> +       *  |
> +       *  v
> +       *        ^
> +       *        |
> +       *        v
> +       *
> +       * Some register R that might get coalesced with one of these two could
> +       * only be referencing "to", otherwise "from"'s range would have been
> +       * longer.  R's range could also only start at the end of "to" or later,
> +       * otherwise it will conflict with "to" when we try to coalesce "to"
> +       * into Rw anyway.
> +       */
>         live_intervals_valid = false;
> +
>         progress = true;
>         continue;
>      }
>

This series is:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>


More information about the mesa-dev mailing list