diff --git a/src/gallium/frontends/lavapipe/ci/lvp-fails.txt b/src/gallium/frontends/lavapipe/ci/lvp-fails.txt index 64e6e95b930..2dce182d291 100644 --- a/src/gallium/frontends/lavapipe/ci/lvp-fails.txt +++ b/src/gallium/frontends/lavapipe/ci/lvp-fails.txt @@ -694,6 +694,3 @@ dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.formats.r32g32_uint.inp dEQP-VK.glsl.texture_functions.query.texturequerylod.isampler1d_fragment,Fail dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler1d_float_fragment,Fail dEQP-VK.glsl.texture_functions.query.texturequerylod.usampler1d_fragment,Fail - -# Regression from a commit in 878ae970...e0efab52 -dEQP-VK.ray_tracing_pipeline.misc.OpTerminateRayKHR_IntersectionDynamically,Fail diff --git a/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c b/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c index 6e307cc767c..7c8598d8eac 100644 --- a/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c +++ b/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c @@ -523,6 +523,10 @@ lvp_lower_isec_intrinsic(nir_builder *b, nir_intrinsic_instr *instr, void *data) nir_def *terminate = nir_load_var(b, state->terminate); nir_store_var(b, state->terminate, nir_ior(b, terminate, prev_terminate), 0x1); + + nir_push_if(b, terminate); + nir_jump(b, nir_jump_return); + nir_pop_if(b, NULL); } nir_push_if(b, nir_load_var(b, state->accept));