From 008346273c2cbc386f52efacac3d3228e566e8ac Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Sun, 5 May 2013 14:13:39 +0800 Subject: [PATCH] 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. --- src/gallium/drivers/ilo/shader/ilo_shader_fs.c | 2 ++ src/gallium/drivers/ilo/shader/ilo_shader_vs.c | 1 + 2 files changed, 3 insertions(+) diff --git a/src/gallium/drivers/ilo/shader/ilo_shader_fs.c b/src/gallium/drivers/ilo/shader/ilo_shader_fs.c index 7a2724c..68a4fff 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 4b1ba02..f8c8d6e 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; -- 2.7.4