Module: Mesa Branch: master Commit: 9d4999e7cf7ca530b3e99a1923f1df9e2069cd34 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d4999e7cf7ca530b3e99a1923f1df9e2069cd34
Author: Ricardo Garcia <rgar...@igalia.com> Date: Thu Oct 15 18:14:52 2020 +0200 anv: Ignore continue flag in primary cmd buffers According to the Vulkan specification, the VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT flag will be ignored if included in a VkCommandBufferBeginInfo for a primary command buffer. This also implies pBeginInfo->pInheritanceInfo should not be read even if the flag is present, and makes it legal to include the flag knowing it will be ignored. Signed-off-by: Ricardo Garcia <rgar...@igalia.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7128> --- src/intel/vulkan/genX_cmd_buffer.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 4c6ca738121..5f1eca71ed1 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -1536,8 +1536,17 @@ genX(BeginCommandBuffer)( cmd_buffer->usage_flags = pBeginInfo->flags; - assert(cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_SECONDARY || - !(cmd_buffer->usage_flags & VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT)); + /* VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT must be ignored for + * primary level command buffers. + * + * From the Vulkan 1.0 spec: + * + * VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT specifies that a + * secondary command buffer is considered to be entirely inside a render + * pass. If this is a primary command buffer, then this bit is ignored. + */ + if (cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY) + cmd_buffer->usage_flags &= ~VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT; genX(cmd_buffer_emit_state_base_address)(cmd_buffer); _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit