diff options
author | Timur Kristóf <[email protected]> | 2019-02-14 01:01:04 +0200 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2019-03-05 19:13:27 +0000 |
commit | 950aebbc5317c5a692b522959ad66ea197344121 (patch) | |
tree | 3406dd9e371aa3a4a2cfe6663e8b02c7016ae8d4 /src/gallium/auxiliary/nir | |
parent | fa076acbc097b9251044f7419760b1d4be56992c (diff) |
tgsi_to_nir: Make the TGSI IF translation code more readable.
This patch is a minor cleanup that only intends to make the
TGSI IF translation a bit easier to read.
Signed-off-by: Timur Kristóf <[email protected]>
Tested-by: Andre Heider <[email protected]>
Tested-by: Rob Clark <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/nir')
-rw-r--r-- | src/gallium/auxiliary/nir/tgsi_to_nir.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c index 545051e84ff..bd2aaaed0dc 100644 --- a/src/gallium/auxiliary/nir/tgsi_to_nir.c +++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c @@ -949,14 +949,15 @@ static void ttn_if(struct ttn_compile *c, nir_ssa_def *src, bool is_uint) { nir_builder *b = &c->build; - - src = ttn_channel(b, src, X); + nir_ssa_def *src_x = ttn_channel(b, src, X); nir_if *if_stmt = nir_if_create(b->shader); if (is_uint) { - if_stmt->condition = nir_src_for_ssa(nir_ine(b, src, nir_imm_int(b, 0))); + /* equivalent to TGSI UIF, src is interpreted as integer */ + if_stmt->condition = nir_src_for_ssa(nir_ine(b, src_x, nir_imm_int(b, 0))); } else { - if_stmt->condition = nir_src_for_ssa(nir_fne(b, src, nir_imm_int(b, 0))); + /* equivalent to TGSI IF, src is interpreted as float */ + if_stmt->condition = nir_src_for_ssa(nir_fne(b, src_x, nir_imm_float(b, 0.0))); } nir_builder_cf_insert(b, &if_stmt->cf_node); |