[Mesa-dev] [PATCH] intel/compiler: fix lower conversions to account for predication

Iago Toral itoral at igalia.com
Mon Jul 23 06:09:38 UTC 2018


This is still pending review, any takers?

Iago

On Tue, 2018-07-17 at 11:10 +0200, Iago Toral Quiroga wrote:
> The pass can create a temporary result for the instruction and then
> moves from it to the original destination, however, if the original
> instruction was predicated, the mov has to be predicated as well.
> ---
>  src/intel/compiler/brw_fs_lower_conversions.cpp | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/intel/compiler/brw_fs_lower_conversions.cpp
> b/src/intel/compiler/brw_fs_lower_conversions.cpp
> index e27e2402746..145fb55f995 100644
> --- a/src/intel/compiler/brw_fs_lower_conversions.cpp
> +++ b/src/intel/compiler/brw_fs_lower_conversions.cpp
> @@ -98,7 +98,10 @@ fs_visitor::lower_conversions()
>               * size_written accordingly.
>               */
>              inst->size_written = inst->dst.component_size(inst-
> >exec_size);
> -            ibld.at(block, inst->next).MOV(dst, strided_temp)-
> >saturate = saturate;
> +
> +            fs_inst *mov = ibld.at(block, inst->next).MOV(dst,
> strided_temp);
> +            mov->saturate = saturate;
> +            mov->predicate = inst->predicate;
>  
>              progress = true;
>           }


More information about the mesa-dev mailing list