diff --git a/src/panfrost/vulkan/panvk_cmd_draw.h b/src/panfrost/vulkan/panvk_cmd_draw.h index ffbb88fabf8..d30fd95a47e 100644 --- a/src/panfrost/vulkan/panvk_cmd_draw.h +++ b/src/panfrost/vulkan/panvk_cmd_draw.h @@ -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 diff --git a/src/panfrost/vulkan/panvk_vX_cmd_meta.c b/src/panfrost/vulkan/panvk_vX_cmd_meta.c index 787afd22d9f..3d1c6057203 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_meta.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_meta.c @@ -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