OSDN Git Service

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 7a2724c..68a4fff 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 4b1ba02..f8c8d6e 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;