From: Dave Airlie Date: Wed, 26 Jun 2019 05:45:50 +0000 (+1000) Subject: tgsi: denote which load/store/atomic channels are unsigned X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ab807859ea518eb3e1c0f365ed3ffe27025bb471;p=mesa.git tgsi: denote which load/store/atomic channels are unsigned llvmpipe will need this info. Reviewed-by: Roland Scheidegger --- diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index d249b956ed3..37e16cca428 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -254,6 +254,18 @@ tgsi_opcode_infer_src_type(enum tgsi_opcode opcode, uint src_idx) (opcode == TGSI_OPCODE_DLDEXP || opcode == TGSI_OPCODE_LDEXP)) return TGSI_TYPE_SIGNED; + if (src_idx == 1 && + (opcode == TGSI_OPCODE_LOAD)) + return TGSI_TYPE_UNSIGNED; + + if (src_idx == 0 && + (opcode == TGSI_OPCODE_STORE)) + return TGSI_TYPE_UNSIGNED; + + if (src_idx == 1 && + opcode >= TGSI_OPCODE_ATOMUADD && opcode <= TGSI_OPCODE_ATOMIMAX) + return TGSI_TYPE_UNSIGNED; + switch (opcode) { case TGSI_OPCODE_UIF: case TGSI_OPCODE_TXF: