diff options
author | Nicolai Hähnle <[email protected]> | 2017-09-15 17:40:05 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-09-29 12:07:33 +0200 |
commit | d713af711d3fdf63358f627b3f318f8b88519e46 (patch) | |
tree | 12bd3647816331bc744f4ff8abd4c1dcf31ee411 /src/gallium/auxiliary/tgsi | |
parent | 93bf9c114b7c54e4faf342810bd848527b7d0a80 (diff) |
tgsi: infer that DLDEXP's second source has an integer type
Reviewed-by: Marek Olšák <[email protected]>
Tested-by: Dieter Nützel <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/tgsi')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_info.c | 5 | ||||
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_info.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index 08bce6380c9..36be463dc84 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -242,8 +242,11 @@ tgsi_opcode_infer_type( uint opcode ) * infer the source type of a TGSI opcode. */ enum tgsi_opcode_type -tgsi_opcode_infer_src_type( uint opcode ) +tgsi_opcode_infer_src_type(uint opcode, uint src_idx) { + if (src_idx == 1 && opcode == TGSI_OPCODE_DLDEXP) + return TGSI_TYPE_SIGNED; + switch (opcode) { case TGSI_OPCODE_UIF: case TGSI_OPCODE_TXF: diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.h b/src/gallium/auxiliary/tgsi/tgsi_info.h index 74bff186924..f3ef46fb4a8 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.h +++ b/src/gallium/auxiliary/tgsi/tgsi_info.h @@ -111,7 +111,7 @@ static inline bool tgsi_type_is_64bit(enum tgsi_opcode_type type) } enum tgsi_opcode_type -tgsi_opcode_infer_src_type( uint opcode ); +tgsi_opcode_infer_src_type( uint opcode, uint src_idx ); enum tgsi_opcode_type tgsi_opcode_infer_dst_type( uint opcode ); |