Fixes a bug where then branch operates with ivec4 while else uses vec4. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72379
Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> --- src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp b/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp index d314799..a1f7e21 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp @@ -169,6 +169,12 @@ fs_visitor::opt_peephole_sel() break; } + /* check that source types for mov operations match */ + if(then_mov[i]->src[0].type != else_mov[i]->src[0].type) { + movs = i; + break; + } + if (!then_mov[i]->src[0].equals(else_mov[i]->src[0])) { /* Only the last source register can be a constant, so if the MOV * in the "then" clause uses a constant, we need to put it in a -- 1.8.3.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev