mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
turnip: Add a perf_debug for feedback-related performance traps.
This can show up in layering drivers. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18990>
This commit is contained in:
parent
3c278c3f71
commit
4fe3330765
1 changed files with 16 additions and 2 deletions
|
|
@ -2534,7 +2534,8 @@ tu_CmdBindPipeline(VkCommandBuffer commandBuffer,
|
|||
cmd->state.dirty |= TU_CMD_DIRTY_DESC_SETS_LOAD | TU_CMD_DIRTY_SHADER_CONSTS |
|
||||
TU_CMD_DIRTY_LRZ | TU_CMD_DIRTY_VS_PARAMS;
|
||||
|
||||
if (pipeline->output.feedback_loop_may_involve_textures) {
|
||||
if (pipeline->output.feedback_loop_may_involve_textures &&
|
||||
!cmd->state.rp.disable_gmem) {
|
||||
/* VK_EXT_attachment_feedback_loop_layout allows feedback loop to involve
|
||||
* not only input attachments but also sampled images or image resources.
|
||||
* But we cannot just patch gmem for image in the descriptors.
|
||||
|
|
@ -2550,9 +2551,22 @@ tu_CmdBindPipeline(VkCommandBuffer commandBuffer,
|
|||
* - Check that both pipeline and attachments agree that feedback loop
|
||||
* is needed.
|
||||
*/
|
||||
perf_debug(
|
||||
cmd->device,
|
||||
"Disabling gmem due to VK_EXT_attachment_feedback_loop_layout");
|
||||
cmd->state.rp.disable_gmem = true;
|
||||
}
|
||||
cmd->state.rp.sysmem_single_prim_mode |= pipeline->prim_order.sysmem_single_prim_mode;
|
||||
|
||||
if (pipeline->prim_order.sysmem_single_prim_mode &&
|
||||
!cmd->state.rp.sysmem_single_prim_mode) {
|
||||
if (pipeline->output.subpass_feedback_loop_color ||
|
||||
pipeline->output.subpass_feedback_loop_ds) {
|
||||
perf_debug(cmd->device, "single_prim_mode due to feedback loop");
|
||||
} else {
|
||||
perf_debug(cmd->device, "single_prim_mode due to rast order access");
|
||||
}
|
||||
cmd->state.rp.sysmem_single_prim_mode = true;
|
||||
}
|
||||
|
||||
struct tu_cs *cs = &cmd->draw_cs;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue