vk: Only begin subpass if we're continuing a render pass
If VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not set in pBeginInfo->flags, we don't have a render pass or framebuffer. Change the condition that guard looking up render pass and framebuffer to test for VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT instead of VK_COMMAND_BUFFER_LEVEL_SECONDARY. Fixes all remaining crashes in dEQP-VK.api.command_buffers.*.
This commit is contained in:
parent
7c5e1fd998
commit
a8cdef3dce
|
@ -297,7 +297,11 @@ VkResult anv_BeginCommandBuffer(
|
|||
|
||||
cmd_buffer->usage_flags = pBeginInfo->flags;
|
||||
|
||||
if (cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_SECONDARY) {
|
||||
assert(cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_SECONDARY ||
|
||||
!(cmd_buffer->usage_flags & VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT));
|
||||
|
||||
if (cmd_buffer->usage_flags &
|
||||
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT) {
|
||||
cmd_buffer->state.framebuffer =
|
||||
anv_framebuffer_from_handle(pBeginInfo->framebuffer);
|
||||
cmd_buffer->state.pass =
|
||||
|
|
Loading…
Reference in New Issue