Mesa (master): ilo: correctly set return types of sampler messages

Chia-I Wu olv at kemper.freedesktop.org
Sun May 5 12:53:27 UTC 2013


Module: Mesa
Branch: master
Commit: 008346273c2cbc386f52efacac3d3228e566e8ac
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=008346273c2cbc386f52efacac3d3228e566e8ac

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Sun May  5 14:13:39 2013 +0800

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(+), 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 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;
 




More information about the mesa-commit mailing list