tgsi: denote which load/store/atomic channels are unsigned

llvmpipe will need this info.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
Dave Airlie 2019-06-26 15:45:50 +10:00
parent e21007f426
commit ab807859ea
1 changed files with 12 additions and 0 deletions

View File

@ -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: