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

Iago Toral itoral at igalia.com
Fri Jul 27 12:47:43 UTC 2018


On Thu, 2018-07-26 at 11:30 +0200, Chema Casanova wrote:
> Please include:
> 
> Fixes: 5a12bdac09496e00 "i965/compiler: handle conversion to smaller
>                          type in the lowering pass for that"

This is not specifically fixing that commit, the problem has been there
before that commit.

Iago

> Reviewed-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
> 
> El 17/07/18 a las 11:10, Iago Toral Quiroga escribió:
> > 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