diff options
author | Nicolai Hähnle <[email protected]> | 2016-10-16 17:33:51 +0200 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2016-10-24 09:02:14 +0100 |
commit | 3581e21d5b0c90a3f3858f0b92f7fe58ead95560 (patch) | |
tree | b389f9e7def6026f259bf60074ea541e8665d7cf | |
parent | 52df379d6b3a3485bf2814f8a0fb54c90b0af6ad (diff) |
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 <[email protected]>
Cc: 13.0 <[email protected]>
(cherry picked from commit ca592af880b71feb8ebbf79f704380d0deb47b33)
-rw-r--r-- | src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 |
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 98ebe540d8e..562587ee58c 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -2880,6 +2880,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); |