panvk: track whether we are in a vk_meta command

This is needed to handle the provoking vertex mode correctly. vk_meta
doesn't care which provoking vertex mode is used, but there is no way to
express this directly in the vulkan api.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974>
This commit is contained in:
Olivia Lee
2025-03-05 22:37:50 -08:00
committed by Marge Bot
parent d60c688317
commit 32177b99d5
2 changed files with 6 additions and 0 deletions

View File

@@ -171,6 +171,8 @@ struct panvk_cmd_graphics_state {
struct panvk_rendering_state render;
bool vk_meta;
#if PAN_ARCH <= 7
uint64_t vpd;
#endif

View File

@@ -106,6 +106,8 @@ panvk_per_arch(cmd_meta_gfx_start)(
cmdbuf->state.gfx.occlusion_query.ptr = 0;
cmdbuf->state.gfx.occlusion_query.mode = MALI_OCCLUSION_MODE_DISABLED;
gfx_state_set_dirty(cmdbuf, OQ);
cmdbuf->state.gfx.vk_meta = true;
}
void
@@ -156,6 +158,8 @@ panvk_per_arch(cmd_meta_gfx_end)(
gfx_state_set_dirty(cmdbuf, OQ);
gfx_state_set_dirty(cmdbuf, DESC_STATE);
gfx_state_set_dirty(cmdbuf, RENDER_STATE);
cmdbuf->state.gfx.vk_meta = false;
}
VKAPI_ATTR void VKAPI_CALL