diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gallium/drivers/nv50/nv50_tgsi_to_nc.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c index da7fe746f4..aafb5e8295 100644 --- a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c +++ b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c @@ -20,6 +20,8 @@   * SOFTWARE.   */ +/* XXX: need to clean this up so we get the typecasting right more naturally */ +  #include <unistd.h>  #include "nv50_context.h" @@ -1173,6 +1175,10 @@ bld_instruction(struct bld_context *bld,           dst0[c]->insn->set_cond = translate_setcc(insn->Instruction.Opcode);           dst0[c]->reg.type = infer_dst_type(insn->Instruction.Opcode); +         dst0[c]->insn->src[0]->typecast = +         dst0[c]->insn->src[1]->typecast = +            infer_src_type(insn->Instruction.Opcode); +           if (dst0[c]->reg.type != NV_TYPE_F32)              break;           dst0[c] = bld_insn_1(bld, NV_OP_ABS, dst0[c]);  | 
