[Mesa-dev] [PATCH 03/13] i965/register_coalesce: Do register size checks before is_copy_payload
Matt Turner
mattst88 at gmail.com
Tue May 5 12:22:05 PDT 2015
On Wed, Apr 1, 2015 at 6:19 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> This allows us to get rid of the visitor argument in is_copy_payload
> ---
> src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
> index 09f0fad..e3cf2db 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
> @@ -64,11 +64,8 @@ is_nop_mov(const fs_inst *inst)
> }
>
> static bool
> -is_copy_payload(const fs_visitor *v, const fs_inst *inst)
> +is_copy_payload(const fs_inst *inst)
> {
> - if (v->alloc.sizes[inst->src[0].reg] != inst->regs_written)
> - return false;
> -
> fs_reg reg = inst->src[0];
>
> for (int i = 0; i < inst->sources; i++)
> @@ -99,7 +96,10 @@ is_coalesce_candidate(const fs_visitor *v, const fs_inst *inst)
> return false;
>
> if (inst->opcode == SHADER_OPCODE_LOAD_PAYLOAD) {
> - if (!is_copy_payload(v, inst)) {
> + if (v->alloc.sizes[inst->src[0].reg] != inst->regs_written)
> + return false;
> +
> + if (!is_copy_payload(inst)) {
> return false;
> }
> }
> --
> 2.3.4
What's the purpose of this? Checking the sizes seems like a necessary
part, so why are you moving it out of the function?
More information about the mesa-dev
mailing list