ilo: correctly set return types of sampler messages
authorChia-I Wu <olvaffe@gmail.com>
Sun, 5 May 2013 06:13:39 +0000 (14:13 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Sun, 5 May 2013 06:36:39 +0000 (14:36 +0800)
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
src/gallium/drivers/ilo/shader/ilo_shader_vs.c

index 7a2724ca95cfcd9044606e70eb17918b3d372a32..68a4fffa096c852d26ba52b26c0c5b89523ffb41 100644 (file)
@@ -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];
 
index 4b1ba02687c7db79133432d95a839e31fcc2191d..f8c8d6e34fef4daa165e63b1bea814c6318fff02 100644 (file)
@@ -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;