summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2016-10-16 17:33:51 +0200
committerEmil Velikov <emil.l.velikov@gmail.com>2016-11-08 16:23:20 +0000
commit3a030e886d459044fab3ec645c1554db3ebe05a3 (patch)
treefb0c073a81daad5848b4f7dcb517e3a84d8309f9
parent4d478aad50ff3731727cb0fe11b17e0e853cc49b (diff)
downloadexternal_mesa3d-3a030e886d459044fab3ec645c1554db3ebe05a3.zip
external_mesa3d-3a030e886d459044fab3ec645c1554db3ebe05a3.tar.gz
external_mesa3d-3a030e886d459044fab3ec645c1554db3ebe05a3.tar.bz2
st/glsl_to_tgsi: fix block copies of arrays of doubles
Set the type of the left-hand side to the same as the right-hand side, so that when the base type is double, the writemask of the MOV instruction is properly fixed up. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: 13.0 <mesa-stable@lists.freedesktop.org> (cherry picked from commit ca592af880b71feb8ebbf79f704380d0deb47b33)
-rw-r--r--src/mesa/state_tracker/st_glsl_to_tgsi.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 020494b..ee117c9 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -2799,6 +2799,7 @@ glsl_to_tgsi_visitor::emit_block_mov(ir_assignment *ir, const struct glsl_type *
assert(type->is_scalar() || type->is_vector());
+ l->type = type->base_type;
r->type = type->base_type;
if (cond) {
st_src_reg l_src = st_src_reg(*l);