radeonsi: remove cp_to_L2 and L2_to_cp, inline the values

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29510>
This commit is contained in:
Marek Olšák
2024-05-31 17:33:32 -04:00
committed by Marge Bot
parent c713fc7762
commit 21d6d44e96
3 changed files with 6 additions and 22 deletions
-7
View File
@@ -1424,13 +1424,6 @@ static struct pipe_screen *radeonsi_screen_create_impl(struct radeon_winsys *ws,
(void)simple_mtx_init(&sscreen->shader_parts_mutex, mtx_plain);
sscreen->use_monolithic_shaders = (sscreen->debug_flags & DBG(MONOLITHIC_SHADERS)) != 0;
sscreen->barrier_flags.cp_to_L2 = SI_CONTEXT_INV_SCACHE | SI_CONTEXT_INV_VCACHE;
if (sscreen->info.gfx_level <= GFX8) {
sscreen->barrier_flags.cp_to_L2 |= SI_CONTEXT_INV_L2;
sscreen->barrier_flags.L2_to_cp |= SI_CONTEXT_WB_L2;
}
if (debug_get_bool_option("RADEON_DUMP_SHADERS", false))
sscreen->debug_flags |= DBG_ALL_SHADERS;
-12
View File
@@ -628,18 +628,6 @@ struct si_screen {
*/
unsigned compressed_colortex_counter;
struct {
/* Context flags to set so that all writes from earlier jobs
* in the CP are seen by L2 clients.
*/
unsigned cp_to_L2;
/* Context flags to set so that all writes from earlier jobs
* that end in L2 are seen by CP.
*/
unsigned L2_to_cp;
} barrier_flags;
simple_mtx_t shader_parts_mutex;
struct si_shader_part *ps_prologs;
struct si_shader_part *ps_epilogs;
+6 -3
View File
@@ -1617,7 +1617,8 @@ static void si_query_hw_get_result_resource(struct si_context *sctx, struct si_q
break;
}
sctx->flags |= sctx->screen->barrier_flags.cp_to_L2;
sctx->flags |= SI_CONTEXT_INV_SCACHE | SI_CONTEXT_INV_VCACHE |
(sctx->gfx_level <= GFX8 ? SI_CONTEXT_INV_L2 : 0);
si_mark_atom_dirty(sctx, &sctx->atoms.s.cache_flush);
for (qbuf = &query->buffer; qbuf; qbuf = qbuf_prev) {
@@ -1713,8 +1714,10 @@ static void si_render_condition(struct pipe_context *ctx, struct pipe_query *que
/* Settings this in the render cond atom is too late,
* so set it here. */
sctx->flags |= sctx->screen->barrier_flags.L2_to_cp;
si_mark_atom_dirty(sctx, &sctx->atoms.s.cache_flush);
if (sctx->gfx_level <= GFX8) {
sctx->flags |= SI_CONTEXT_WB_L2;
si_mark_atom_dirty(sctx, &sctx->atoms.s.cache_flush);
}
sctx->render_cond_enabled = old_render_cond_enabled;
}