From 9196fd3e1f551328f2d47a18471aa4fcbffee683 Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Sat, 18 Jun 2022 12:22:01 +0200 Subject: [PATCH] radv: Fix the t comparison for triangles MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The accept range is defined like this: Triangles: tmin < t < tmax AABBs: tmin <= t <= tmax (See https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#ray-intersection-candidate-determination) Signed-off-by: Konstantin Seurer Reviewed-by: Daniel Schürmann Part-of: --- src/amd/vulkan/radv_pipeline_rt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_pipeline_rt.c b/src/amd/vulkan/radv_pipeline_rt.c index 8631006..8994a73 100644 --- a/src/amd/vulkan/radv_pipeline_rt.c +++ b/src/amd/vulkan/radv_pipeline_rt.c @@ -1160,8 +1160,8 @@ insert_traversal_triangle_case(struct radv_device *device, 0))); nir_push_if(b, nir_iand(b, - nir_iand(b, nir_fge(b, nir_load_var(b, vars->tmax), dist), - nir_fge(b, dist, nir_load_var(b, vars->tmin))), + nir_iand(b, nir_flt(b, dist, nir_load_var(b, vars->tmax)), + nir_flt(b, nir_load_var(b, vars->tmin), dist)), not_cull)); { -- 2.7.4