Mesa (master): tu: Reset has_tess after renderpass
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Aug 4 13:57:33 UTC 2020
Module: Mesa
Branch: master
Commit: f226b198f5bb09951ecc6833db1b912eb677f708
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f226b198f5bb09951ecc6833db1b912eb677f708
Author: Connor Abbott <cwabbott0 at gmail.com>
Date: Mon Aug 3 11:13:56 2020 +0200
tu: Reset has_tess after renderpass
Don't force sysmem for render passes after the one that uses
tessellation.
Also, move this into tu_cmd_state as that's where it belongs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6009>
---
src/freedreno/vulkan/tu_cmd_buffer.c | 9 +++++----
src/freedreno/vulkan/tu_private.h | 3 +--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c
index 03130750d32..24b0de0085a 100644
--- a/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -595,7 +595,7 @@ use_sysmem_rendering(struct tu_cmd_buffer *cmd)
cmd->state.render_area.extent.height == 0)
return true;
- if (cmd->has_tess)
+ if (cmd->state.has_tess)
return true;
return false;
@@ -2529,8 +2529,8 @@ tu_CmdExecuteCommands(VkCommandBuffer commandBuffer,
break;
}
- if (secondary->has_tess)
- cmd->has_tess = true;
+ if (secondary->state.has_tess)
+ cmd->state.has_tess = true;
} else {
assert(tu_cs_is_empty(&secondary->draw_cs));
assert(tu_cs_is_empty(&secondary->draw_epilogue_cs));
@@ -3037,7 +3037,7 @@ tu6_draw_common(struct tu_cmd_buffer *cmd,
if (has_tess) {
uint64_t tess_factor_iova = 0;
- cmd->has_tess = true;
+ cmd->state.has_tess = true;
result = tu6_emit_tess_consts(cmd, draw_count, pipeline, &tess_consts, &tess_factor_iova);
if (result != VK_SUCCESS)
return result;
@@ -3670,6 +3670,7 @@ tu_CmdEndRenderPass(VkCommandBuffer commandBuffer)
cmd_buffer->state.pass = NULL;
cmd_buffer->state.subpass = NULL;
cmd_buffer->state.framebuffer = NULL;
+ cmd_buffer->state.has_tess = false;
}
void
diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h
index 9bccc20b743..b5f76e7319d 100644
--- a/src/freedreno/vulkan/tu_private.h
+++ b/src/freedreno/vulkan/tu_private.h
@@ -922,6 +922,7 @@ struct tu_cmd_state
struct tu_cs_entry tile_store_ib;
bool xfb_used;
+ bool has_tess;
};
struct tu_cmd_pool
@@ -1007,8 +1008,6 @@ struct tu_cmd_buffer
struct tu_cs draw_epilogue_cs;
struct tu_cs sub_cs;
- bool has_tess;
-
uint32_t vsc_draw_strm_pitch;
uint32_t vsc_prim_strm_pitch;
};
More information about the mesa-commit
mailing list