From 03c90bcd1f2ff7c956bee91e91b7b2fb5cbe739d Mon Sep 17 00:00:00 2001 From: Mel Henning Date: Sat, 24 Jan 2026 13:13:01 -0500 Subject: [PATCH] nvk: Ignore meta ops in occlusion queries Fixes: 052bbd65c9a ("nvk: Implement pipeline statistics and occlusion queries") Reviewed-by: Faith Ekstrand Part-of: (cherry picked from commit e32bfc5efe4d20d68ed2b988a45599b66e731d01) --- .pick_status.json | 2 +- src/nouveau/vulkan/nvk_cmd_meta.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 6648ea0ad9a..804ae3d8fa0 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1874,7 +1874,7 @@ "description": "nvk: Ignore meta ops in occlusion queries", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "052bbd65c9a48b2dba363058c7c289f24a1ad265", "notes": null diff --git a/src/nouveau/vulkan/nvk_cmd_meta.c b/src/nouveau/vulkan/nvk_cmd_meta.c index e1329a3446f..d58f2ca4df2 100644 --- a/src/nouveau/vulkan/nvk_cmd_meta.c +++ b/src/nouveau/vulkan/nvk_cmd_meta.c @@ -78,7 +78,7 @@ nvk_meta_begin(struct nvk_cmd_buffer *cmd, { const struct nvk_descriptor_state *desc = &cmd->state.gfx.descriptors; - struct nv_push *p = nvk_cmd_buffer_push(cmd, 4); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 6); P_IMMD(p, NV9097, SET_RENDER_ENABLE_OVERRIDE, MODE_ALWAYS_RENDER); @@ -100,6 +100,8 @@ nvk_meta_begin(struct nvk_cmd_buffer *cmd, .vtg_primitives_out_enable = false, }); + P_IMMD(p, NV9097, SET_ZPASS_PIXEL_COUNT, false); + save->dynamic = cmd->vk.dynamic_graphics_state; save->_dynamic_vi = cmd->state.gfx._dynamic_vi; save->_dynamic_sl = cmd->state.gfx._dynamic_sl; @@ -187,7 +189,9 @@ nvk_meta_end(struct nvk_cmd_buffer *cmd, nvk_descriptor_state_set_root_array(cmd, desc, push, 0, sizeof(save->push), save->push); - struct nv_push *p = nvk_cmd_buffer_push(cmd, 4); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 6); + + P_IMMD(p, NV9097, SET_ZPASS_PIXEL_COUNT, true); P_IMMD(p, NV9097, SET_STATISTICS_COUNTER, { .da_vertices_generated_enable = true,