diff options
author | Samuel Iglesias Gonsálvez <[email protected]> | 2017-02-08 13:50:57 +0100 |
---|---|---|
committer | Samuel Iglesias Gonsálvez <[email protected]> | 2017-02-09 10:18:34 +0100 |
commit | 824e1bb078ad0caeb0b6a7292aebddd06ed84291 (patch) | |
tree | 713f65268e5501e5bff7254dd2a84755a77ebcbd | |
parent | 7ab26613dbe7e917f823d16c5edca2d14dd21d13 (diff) |
nir: add opcode to perform int64 to bool conversions
Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99660
Reviewed-by: Lionel Landwerlin <[email protected]>
-rw-r--r-- | src/compiler/glsl/glsl_to_nir.cpp | 1 | ||||
-rw-r--r-- | src/compiler/nir/nir_opcodes.py | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index fde6a018750..96d8164ea43 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -1501,6 +1501,7 @@ nir_visitor::visit(ir_expression *ir) case ir_unop_i642i: result = nir_i2i32(&b, srcs[0]); break; case ir_unop_i642u: result = nir_i2u32(&b, srcs[0]); break; case ir_unop_i642f: result = nir_i642f(&b, srcs[0]); break; + case ir_unop_i642b: result = nir_i642b(&b, srcs[0]); break; case ir_unop_i642d: result = nir_i642d(&b, srcs[0]); break; case ir_unop_u642i: result = nir_u2i32(&b, srcs[0]); break; diff --git a/src/compiler/nir/nir_opcodes.py b/src/compiler/nir/nir_opcodes.py index 0f6dd0add83..ece673cda36 100644 --- a/src/compiler/nir/nir_opcodes.py +++ b/src/compiler/nir/nir_opcodes.py @@ -183,6 +183,7 @@ unop_convert("i2u64", tuint64, tint, "src0") # General int (int8_t, int64_t, e unop_convert("u2u64", tuint64, tuint, "src0") # General uint (uint8_t, uint32_t, etc.) to uint64_t conversion unop_convert("f2u64", tuint64, tfloat, "src0") # General float (float or double) to uint64_t conversion unop_convert("i642f", tfloat32, tint64, "src0") # int64_t-to-float conversion. +unop_convert("i642b", tbool, tint64, "src0") # int64_t-to-bool conversion. unop_convert("i642d", tfloat64, tint64, "src0") # int64_t-to-double conversion. unop_convert("u642f", tfloat32, tuint64, "src0") # uint64_t-to-float conversion. unop_convert("u642d", tfloat64, tuint64, "src0") # uint64_t-to-double conversion. |