tgsi/scan: fix uses_double
authorMarek Olšák <marek.olsak@amd.com>
Tue, 22 Aug 2017 14:58:40 +0000 (16:58 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 22 Aug 2017 16:11:28 +0000 (18:11 +0200)
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/auxiliary/tgsi/tgsi_scan.c

index 2fd7d7c0f9e8ed5b6771b7c2ac642bce4ed96967..db87ce31a8eb7ff659d1595af788659b61817ae5 100644 (file)
@@ -457,8 +457,14 @@ scan_instruction(struct tgsi_shader_info *info,
       }
    }
 
-   if (fullinst->Instruction.Opcode >= TGSI_OPCODE_F2D &&
-       fullinst->Instruction.Opcode <= TGSI_OPCODE_DSSG)
+   if ((fullinst->Instruction.Opcode >= TGSI_OPCODE_F2D &&
+        fullinst->Instruction.Opcode <= TGSI_OPCODE_DSSG) ||
+       fullinst->Instruction.Opcode == TGSI_OPCODE_DFMA ||
+       fullinst->Instruction.Opcode == TGSI_OPCODE_DDIV ||
+       fullinst->Instruction.Opcode == TGSI_OPCODE_D2U64 ||
+       fullinst->Instruction.Opcode == TGSI_OPCODE_D2I64 ||
+       fullinst->Instruction.Opcode == TGSI_OPCODE_U642D ||
+       fullinst->Instruction.Opcode == TGSI_OPCODE_I642D)
       info->uses_doubles = TRUE;
 
    for (i = 0; i < fullinst->Instruction.NumSrcRegs; i++) {