diff options
author | Chia-I Wu <[email protected]> | 2013-05-05 14:13:39 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2013-05-05 14:36:39 +0800 |
commit | 008346273c2cbc386f52efacac3d3228e566e8ac (patch) | |
tree | 96e996b6851e741e86cdd3302e7e3c8cb36be3f2 | |
parent | b42fe195a2578473c433695fe417253e8786c4c6 (diff) |
ilo: correctly set return types of sampler messages
Correctly set the types of the temporaries. We do not want type conversions
when moving the results to the final destinations.
-rw-r--r-- | src/gallium/drivers/ilo/shader/ilo_shader_fs.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/ilo/shader/ilo_shader_vs.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/shader/ilo_shader_fs.c b/src/gallium/drivers/ilo/shader/ilo_shader_fs.c index 7a2724ca95c..68a4fffa096 100644 --- a/src/gallium/drivers/ilo/shader/ilo_shader_fs.c +++ b/src/gallium/drivers/ilo/shader/ilo_shader_fs.c @@ -982,6 +982,8 @@ fs_lower_opcode_tgsi_sampling(struct fs_compile_context *fcc, /* write to temps first */ tc_alloc_tmp4(tc, tmp); + for (i = 0; i < 4; i++) + tmp[i].type = inst->dst.type; tdst_transpose(inst->dst, dst); inst->dst = tmp[0]; diff --git a/src/gallium/drivers/ilo/shader/ilo_shader_vs.c b/src/gallium/drivers/ilo/shader/ilo_shader_vs.c index 4b1ba02687c..f8c8d6e34fe 100644 --- a/src/gallium/drivers/ilo/shader/ilo_shader_vs.c +++ b/src/gallium/drivers/ilo/shader/ilo_shader_vs.c @@ -554,6 +554,7 @@ vs_lower_opcode_tgsi_sampling(struct vs_compile_context *vcc, /* write to a temp first */ tmp = tc_alloc_tmp(tc); + tmp.type = inst->dst.type; dst = inst->dst; inst->dst = tmp; |