[Mesa-dev] [PATCH] i965/fs: do SEL optimization only when src type for MOV matches
Tapani Pälli
tapani.palli at intel.com
Tue Jan 7 00:25:40 PST 2014
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.palli at 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
More information about the mesa-dev
mailing list