lavapipe: don't block begin/end cmdbuf pipeline barriers
these are now useful
fixes #9972
Fixes: 3b547a9b58
("lavapipe: Switch to the common sync framework")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25652>
This commit is contained in:

committed by
Marge Bot

parent
7078cd3652
commit
e8a76adde8
@@ -4405,7 +4405,6 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
|
||||
struct rendering_state *state, bool print_cmds)
|
||||
{
|
||||
struct vk_cmd_queue_entry *cmd;
|
||||
bool first = true;
|
||||
bool did_flush = false;
|
||||
|
||||
LIST_FOR_EACH_ENTRY(cmd, cmds, cmd_link) {
|
||||
@@ -4530,10 +4529,8 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
|
||||
handle_resolve_image(cmd, state);
|
||||
break;
|
||||
case VK_CMD_PIPELINE_BARRIER2:
|
||||
/* skip flushes since every cmdbuf does a flush
|
||||
after iterating its cmds and so this is redundant
|
||||
*/
|
||||
if (first || did_flush || cmd->cmd_link.next == cmds)
|
||||
/* flushes are actually stalls, so multiple flushes are redundant */
|
||||
if (did_flush)
|
||||
continue;
|
||||
handle_pipeline_barrier(cmd, state);
|
||||
did_flush = true;
|
||||
@@ -4766,7 +4763,6 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
|
||||
unreachable("Unsupported command");
|
||||
break;
|
||||
}
|
||||
first = false;
|
||||
did_flush = false;
|
||||
if (!cmd->cmd_link.next)
|
||||
break;
|
||||
|
Reference in New Issue
Block a user