anv: correctly predicate ray tracing
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 25 Nov 2022 11:05:07 +0000 (13:05 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 2 Dec 2022 09:28:23 +0000 (09:28 +0000)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 7479fe6ae093 ("anv: Implement vkCmdTraceRays and vkCmdTraceRaysIndirect")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20011>

src/intel/vulkan/genX_cmd_buffer.c

index 28c78298b67b506782029bc9cd615a7cb82370b4..0af7ea05bf3d867a28cffd46cb644ea8ed7bcfd7 100644 (file)
@@ -5800,7 +5800,7 @@ cmd_buffer_trace_rays(struct anv_cmd_buffer *cmd_buffer,
 
    anv_batch_emit(&cmd_buffer->batch, GENX(COMPUTE_WALKER), cw) {
       cw.IndirectParameterEnable        = is_indirect;
-      cw.PredicateEnable                = false;
+      cw.PredicateEnable                = cmd_buffer->state.conditional_render_enabled;
       cw.SIMDSize                       = dispatch.simd_size / 16;
       cw.LocalXMaximum                  = (1 << local_size_log2[0]) - 1;
       cw.LocalYMaximum                  = (1 << local_size_log2[1]) - 1;