From ab807859ea518eb3e1c0f365ed3ffe27025bb471 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 26 Jun 2019 15:45:50 +1000 Subject: [PATCH] tgsi: denote which load/store/atomic channels are unsigned llvmpipe will need this info. Reviewed-by: Roland Scheidegger --- src/gallium/auxiliary/tgsi/tgsi_info.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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: -- 2.11.0