[Mesa-stable] [PATCH 22/22 v2] radeonsi: NaN should pass kill_if
Axel Davy
davyaxel0 at gmail.com
Mon Sep 24 06:29:11 UTC 2018
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=105333
Fixes: https://github.com/iXit/Mesa-3D/issues/314
For this application, NaN is passed to KILL_IF and is expected to
pass.
v2: Explain in the code why UGE is used.
Signed-off-by: Axel Davy <davyaxel0 at gmail.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
CC: <mesa-stable at lists.freedesktop.org>
---
src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c
index f54d025aec0..a768b449047 100644
--- a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c
+++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c
@@ -60,7 +60,8 @@ static void kil_emit(const struct lp_build_tgsi_action *action,
for (i = 0; i < TGSI_NUM_CHANNELS; i++) {
LLVMValueRef value = lp_build_emit_fetch(bld_base, inst, 0, i);
- conds[i] = LLVMBuildFCmp(builder, LLVMRealOGE, value,
+ /* UGE because NaN shouldn't get killed */
+ conds[i] = LLVMBuildFCmp(builder, LLVMRealUGE, value,
ctx->ac.f32_0, "");
}
--
2.18.0
More information about the mesa-stable
mailing list