Re: [Mesa-dev] [PATCH] intel/compiler: fix lower conversions to account for predication
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 > > 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; > > } > > > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] intel/compiler: fix lower conversions to account for predication
Please include: Fixes: 5a12bdac09496e00 "i965/compiler: handle conversion to smaller type in the lowering pass for that" Reviewed-by: Jose Maria Casanova Crespo 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; > } > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] intel/compiler: fix lower conversions to account for predication
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; > } ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] intel/compiler: fix lower conversions to account for predication
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; } -- 2.17.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev