tgsi: handle bitwise opcodes in tgsi_opcode_infer_type (v2)
authorMarek Olšák <marek.olsak@amd.com>
Fri, 27 Feb 2015 23:34:53 +0000 (00:34 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 16 Mar 2015 11:54:18 +0000 (12:54 +0100)
v2: set the same types as the destination type in tgsi_exec

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/auxiliary/tgsi/tgsi_info.c

index 11947097e9f137cd2378641c0512d29a8cddb28e..3cab86efbfe1d0fc3ff308f1e6ac422ead4641d0 100644 (file)
@@ -341,6 +341,12 @@ tgsi_opcode_infer_type( uint opcode )
    case TGSI_OPCODE_USNE:
    case TGSI_OPCODE_SVIEWINFO:
    case TGSI_OPCODE_UMUL_HI:
+   case TGSI_OPCODE_UBFE:
+   case TGSI_OPCODE_BFI:
+   case TGSI_OPCODE_BREV:
+   case TGSI_OPCODE_POPC:
+   case TGSI_OPCODE_LSB:
+   case TGSI_OPCODE_UMSB:
       return TGSI_TYPE_UNSIGNED;
    case TGSI_OPCODE_ARL:
    case TGSI_OPCODE_ARR:
@@ -362,6 +368,8 @@ tgsi_opcode_infer_type( uint opcode )
    case TGSI_OPCODE_IABS:
    case TGSI_OPCODE_ISSG:
    case TGSI_OPCODE_IMUL_HI:
+   case TGSI_OPCODE_IBFE:
+   case TGSI_OPCODE_IMSB:
       return TGSI_TYPE_SIGNED;
    default:
       return TGSI_TYPE_FLOAT;