panvk: Add a flag to force SIMULTANEOUS_USE

Turns out we have a bunch of test that fail when the descriptor
ring-buffer is involved. Add a flag so we can extend testing coverage
without adding more CTS tests.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32284>
This commit is contained in:
Boris Brezillon 2024-11-21 18:56:18 +01:00 committed by Marge Bot
parent 46a0231c9c
commit 25c0a11cf7
3 changed files with 9 additions and 0 deletions

View file

@ -830,10 +830,17 @@ panvk_per_arch(BeginCommandBuffer)(VkCommandBuffer commandBuffer,
const VkCommandBufferBeginInfo *pBeginInfo)
{
VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
struct panvk_instance *instance =
to_panvk_instance(cmdbuf->vk.base.device->physical->instance);
vk_command_buffer_begin(&cmdbuf->vk, pBeginInfo);
cmdbuf->flags = pBeginInfo->flags;
if (instance->debug_flags & PANVK_DEBUG_FORCE_SIMULTANEOUS) {
cmdbuf->flags |= VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
cmdbuf->flags &= ~VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
}
panvk_per_arch(cmd_inherit_render_state)(cmdbuf, pBeginInfo);
return VK_SUCCESS;

View file

@ -39,6 +39,7 @@ static const struct debug_control panvk_debug_options[] = {
{"no_known_warn", PANVK_DEBUG_NO_KNOWN_WARN},
{"cs", PANVK_DEBUG_CS},
{"copy_gfx", PANVK_DEBUG_COPY_GFX},
{"force_simultaneous", PANVK_DEBUG_FORCE_SIMULTANEOUS},
{NULL, 0}};
VKAPI_ATTR VkResult VKAPI_CALL

View file

@ -23,6 +23,7 @@ enum panvk_debug_flags {
PANVK_DEBUG_NO_KNOWN_WARN = 1 << 7,
PANVK_DEBUG_CS = 1 << 8,
PANVK_DEBUG_COPY_GFX = 1 << 9,
PANVK_DEBUG_FORCE_SIMULTANEOUS = 1 << 10,
};
#if defined(VK_USE_PLATFORM_WAYLAND_KHR) || \