From: Iago Toral Quiroga Date: Mon, 6 Mar 2017 11:16:05 +0000 (+0100) Subject: anv/cmd_buffer: skip vkCmdExecuteCommands() on broken command buffers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a752c4ecdaa2084a4335993947512cd0eaa79046;p=mesa.git anv/cmd_buffer: skip vkCmdExecuteCommands() on broken command buffers v2: Assert on secondary commands, applications should've called vkEndCommandBuffer() and received an error for them before (Jason) Reviewed-by: Topi Pohjolainen --- diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 89aeff2c9d6..4d14fcd2f73 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -646,6 +646,9 @@ genX(CmdExecuteCommands)( assert(primary->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY); + if (anv_batch_has_error(&primary->batch)) + return; + /* The secondary command buffers will assume that the PMA fix is disabled * when they begin executing. Make sure this is true. */ @@ -655,6 +658,7 @@ genX(CmdExecuteCommands)( ANV_FROM_HANDLE(anv_cmd_buffer, secondary, pCmdBuffers[i]); assert(secondary->level == VK_COMMAND_BUFFER_LEVEL_SECONDARY); + assert(!anv_batch_has_error(&secondary->batch)); if (secondary->usage_flags & VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT) {