summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarol Herbst <kherbst@redhat.com>2023-10-22 16:49:42 +0200
committerEric Engestrom <eric@engestrom.ch>2023-10-30 15:47:33 +0000
commitf9337e1c78af4967043ace2f1fdd8f1db9548250 (patch)
treec28e1812d4475df2e43a70cd2680472e5d317fab
parent65bd87bd35789e4062766097745f894e6b7c1984 (diff)
zink: lower fisnormal as it requires the Kernel Cap
I didn't check if it's a valid vulkan SPIR-V opcode and turns out it isn't Fixes: 82eed326f47 ("zink: support more nir opcodes") Signed-off-by: Karol Herbst <kherbst@redhat.com> Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25837> (cherry picked from commit 01b6ccccc6af3111da4466d083335ed5f0646a5e)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c1
-rw-r--r--src/gallium/drivers/zink/zink_compiler.c1
3 files changed, 2 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 06ede166fbc..a7a21845bdc 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -704,7 +704,7 @@
"description": "zink: lower fisnormal as it requires the Kernel Cap",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "82eed326f47848fddef39b933a2ce9ab5492a4d8",
"notes": null
diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
index ce7efafe128..dc964b85024 100644
--- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
+++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
@@ -1853,7 +1853,6 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu)
UNOP(nir_op_f2f64, SpvOpFConvert)
UNOP(nir_op_bitfield_reverse, SpvOpBitReverse)
UNOP(nir_op_bit_count, SpvOpBitCount)
- UNOP(nir_op_fisnormal, SpvOpIsNormal)
#undef UNOP
case nir_op_f2f16_rtz:
diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c
index 95fe41ff4f9..4400d686a0c 100644
--- a/src/gallium/drivers/zink/zink_compiler.c
+++ b/src/gallium/drivers/zink/zink_compiler.c
@@ -1212,6 +1212,7 @@ zink_screen_init_compiler(struct zink_screen *screen)
.lower_fsat = true,
.lower_hadd = true,
.lower_iadd_sat = true,
+ .lower_fisnormal = true,
.lower_extract_byte = true,
.lower_extract_word = true,
.lower_insert_byte = true,