mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 18:10:17 +01:00
turnip: fix gem_store tracepoint
Set cmd->trace_renderpass_end after tu6_emit_tile_store in case of gmem. To be able to do that, we push the update of cmd->trace_renderpass_end down into tu_cmd_render_tiles/tu_cmd_render_sysmem. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238>
This commit is contained in:
parent
f539bd7a03
commit
b1ba0791e3
1 changed files with 7 additions and 5 deletions
|
|
@ -1445,6 +1445,8 @@ tu_cmd_render_tiles(struct tu_cmd_buffer *cmd,
|
|||
tu6_emit_tile_store(cmd, &cmd->tile_store_cs);
|
||||
tu_cs_end(&cmd->tile_store_cs);
|
||||
|
||||
cmd->trace_renderpass_end = u_trace_end_iterator(&cmd->trace);
|
||||
|
||||
tu6_tile_render_begin(cmd, &cmd->cs, autotune_result);
|
||||
|
||||
/* Note: we reverse the order of walking the pipes and tiles on every
|
||||
|
|
@ -1484,6 +1486,7 @@ tu_cmd_render_tiles(struct tu_cmd_buffer *cmd,
|
|||
|
||||
trace_end_render_pass(&cmd->trace, &cmd->cs, fb, tiling);
|
||||
|
||||
/* tu6_render_tile has cloned these tracepoints for each tile */
|
||||
if (!u_trace_iterator_equal(cmd->trace_renderpass_start, cmd->trace_renderpass_end))
|
||||
u_trace_disable_event_range(cmd->trace_renderpass_start,
|
||||
cmd->trace_renderpass_end);
|
||||
|
|
@ -1498,6 +1501,8 @@ static void
|
|||
tu_cmd_render_sysmem(struct tu_cmd_buffer *cmd,
|
||||
struct tu_renderpass_result *autotune_result)
|
||||
{
|
||||
cmd->trace_renderpass_end = u_trace_end_iterator(&cmd->trace);
|
||||
|
||||
tu6_sysmem_render_begin(cmd, &cmd->cs, autotune_result);
|
||||
|
||||
trace_start_draw_ib_sysmem(&cmd->trace, &cmd->cs);
|
||||
|
|
@ -3668,7 +3673,6 @@ tu_CmdExecuteCommands(VkCommandBuffer commandBuffer,
|
|||
cmd->trace_renderpass_start = u_trace_end_iterator(&cmd->trace);
|
||||
|
||||
tu_append_pre_chain(cmd, secondary);
|
||||
cmd->trace_renderpass_end = u_trace_end_iterator(&cmd->trace);
|
||||
|
||||
/* We're about to render, so we need to end the command stream
|
||||
* in case there were any extra commands generated by copying
|
||||
|
|
@ -3684,6 +3688,7 @@ tu_CmdExecuteCommands(VkCommandBuffer commandBuffer,
|
|||
* started in the primary, so we have to move the state to
|
||||
* `pre_chain`.
|
||||
*/
|
||||
cmd->trace_renderpass_end = u_trace_end_iterator(&cmd->trace);
|
||||
tu_save_pre_chain(cmd);
|
||||
cmd->state.suspend_resume = SR_AFTER_PRE_CHAIN;
|
||||
break;
|
||||
|
|
@ -5242,8 +5247,6 @@ tu_CmdEndRenderPass2(VkCommandBuffer commandBuffer,
|
|||
return;
|
||||
}
|
||||
|
||||
cmd_buffer->trace_renderpass_end = u_trace_end_iterator(&cmd_buffer->trace);
|
||||
|
||||
tu_cs_end(&cmd_buffer->draw_cs);
|
||||
tu_cs_end(&cmd_buffer->draw_epilogue_cs);
|
||||
tu_cmd_render(cmd_buffer);
|
||||
|
|
@ -5262,8 +5265,6 @@ tu_CmdEndRendering(VkCommandBuffer commandBuffer)
|
|||
{
|
||||
TU_FROM_HANDLE(tu_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
||||
cmd_buffer->trace_renderpass_end = u_trace_end_iterator(&cmd_buffer->trace);
|
||||
|
||||
if (cmd_buffer->state.suspending)
|
||||
cmd_buffer->state.suspended_pass.lrz = cmd_buffer->state.lrz;
|
||||
|
||||
|
|
@ -5272,6 +5273,7 @@ tu_CmdEndRendering(VkCommandBuffer commandBuffer)
|
|||
tu_cs_end(&cmd_buffer->draw_epilogue_cs);
|
||||
|
||||
if (cmd_buffer->state.suspend_resume == SR_IN_PRE_CHAIN) {
|
||||
cmd_buffer->trace_renderpass_end = u_trace_end_iterator(&cmd_buffer->trace);
|
||||
tu_save_pre_chain(cmd_buffer);
|
||||
} else {
|
||||
tu_cmd_render(cmd_buffer);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue