mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 04:50:35 +01:00
ac/spm: setup write broadcasting correctly
Based on PAL's PerfExperiment::BuildGrbmGfxIndex method. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646>
This commit is contained in:
parent
77116d34ea
commit
ca40bad84a
1 changed files with 9 additions and 0 deletions
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
#include "util/bitscan.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "ac_perfcounter.h"
|
||||
|
||||
static struct ac_spm_block_select *
|
||||
ac_spm_get_block_select(struct ac_spm_trace_data *spm_trace,
|
||||
|
|
@ -55,6 +56,14 @@ ac_spm_get_block_select(struct ac_spm_trace_data *spm_trace,
|
|||
new_block_sel->b = block;
|
||||
new_block_sel->num_counters = block->b->b->num_spm_counters;
|
||||
|
||||
/* Broadcast global block writes to SEs and SAs */
|
||||
if (!(block->b->b->flags & (AC_PC_BLOCK_SE | AC_PC_BLOCK_SHADER)))
|
||||
new_block_sel->grbm_gfx_index = S_030800_SE_BROADCAST_WRITES(1) |
|
||||
S_030800_SH_BROADCAST_WRITES(1);
|
||||
/* Broadcast per SE block writes to SAs */
|
||||
else if (block->b->b->flags & AC_PC_BLOCK_SE)
|
||||
new_block_sel->grbm_gfx_index = S_030800_SH_BROADCAST_WRITES(1);
|
||||
|
||||
return new_block_sel;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue