The pass does not support doubles in its current form. I'm not even sure that
it should, since it would basically change the type of the operation and that
could have implications for things like SSBO writes, etc.
---
 src/mesa/drivers/dri/i965/brw_vec4.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp 
b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index 05109a4..d806f41 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -382,6 +382,7 @@ vec4_visitor::opt_vector_float()
           inst->src[0].file == IMM &&
           inst->predicate == BRW_PREDICATE_NONE &&
           inst->dst.writemask != WRITEMASK_XYZW &&
+          type_sz(inst->src[0].type) < 8 &&
           (inst->src[0].type == inst->dst.type || inst->src[0].d == 0)) {
 
          vf = brw_float_to_vf(inst->src[0].d);
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to