mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 00:28:51 +02:00
aco: Fix LDS statistics of tess control shaders.
The calculate_tess_lds_size function already returns the size in blocks of the encoding granule, but we forgot to adjust config->lds_size. This variable is not used to actually set the LDS size used for TCS, but by ACO to make scheduling decisions. Fossil DB stats on Sienna Cichlid: Please note that the +3729.43% is NOT a regression. The real LDS size used didn't change, it was just reported incorrectly. Totals from 1342 (0.96% of 139391) affected shaders: VGPRs: 60880 -> 80240 (+31.80%); split: -0.05%, +31.85% CodeSize: 3378456 -> 3381224 (+0.08%); split: -0.23%, +0.31% LDS: 687104 -> 26312192 (+3729.43%) MaxWaves: 29794 -> 23962 (-19.57%) Instrs: 644194 -> 644610 (+0.06%); split: -0.32%, +0.39% Cycles: 2675068 -> 2676804 (+0.06%); split: -0.31%, +0.38% VMEM: 428840 -> 517418 (+20.66%); split: +22.53%, -1.88% SMEM: 91831 -> 88587 (-3.53%); split: +5.70%, -9.23% VClause: 22740 -> 19384 (-14.76%); split: -16.18%, +1.42% SClause: 19116 -> 18373 (-3.89%); split: -4.34%, +0.46% Copies: 66662 -> 63448 (-4.82%); split: -5.55%, +0.73% Fixes:cf89bdb9ba"radv: align the LDS size in calculate_tess_lds_size()" Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9098> (cherry picked from commit48f349971f)
This commit is contained in:
parent
c6f1d33ae0
commit
202ff54b4d
2 changed files with 2 additions and 3 deletions
|
|
@ -76,7 +76,7 @@
|
|||
"description": "aco: Fix LDS statistics of tess control shaders.",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "cf89bdb9ba9c7a7ba39d142ee3c83e0379c2092a"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -490,8 +490,7 @@ setup_tcs_info(isel_context *ctx, nir_shader *nir, nir_shader *vs)
|
|||
|
||||
ctx->args->shader_info->tcs.num_patches = ctx->tcs_num_patches;
|
||||
ctx->args->shader_info->tcs.num_lds_blocks = lds_size;
|
||||
ctx->program->config->lds_size = (lds_size + ctx->program->lds_alloc_granule - 1) /
|
||||
ctx->program->lds_alloc_granule;
|
||||
ctx->program->config->lds_size = lds_size; /* Already in blocks of the encoding granule */
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue