mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 13:00:09 +01:00
aco: Fix RT VGPR limit on Navi31/32, GFX11.5, GFX12
Since 128 is not a multiple of the VGPR allocation granule, we will actually allocate 134 VGPRs. No reason not to use the extra 6. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34265>
This commit is contained in:
parent
c0be0a845d
commit
d1ff9e951a
1 changed files with 4 additions and 1 deletions
|
|
@ -95,7 +95,7 @@ init_program(Program* program, Stage stage, const struct aco_shader_info* info,
|
|||
/* apparently gfx702 also has 16-bank LDS but I can't find a family for that */
|
||||
program->dev.has_16bank_lds = family == CHIP_KABINI || family == CHIP_STONEY;
|
||||
|
||||
program->dev.vgpr_limit = stage == raytracing_cs ? 128 : 256;
|
||||
program->dev.vgpr_limit = 256;
|
||||
program->dev.physical_vgprs = 256;
|
||||
program->dev.vgpr_alloc_granule = 4;
|
||||
|
||||
|
|
@ -128,6 +128,9 @@ init_program(Program* program, Stage stage, const struct aco_shader_info* info,
|
|||
program->dev.sgpr_limit = 104;
|
||||
}
|
||||
|
||||
if (program->stage == raytracing_cs)
|
||||
program->dev.vgpr_limit = util_align_npot(128, program->dev.vgpr_alloc_granule);
|
||||
|
||||
program->dev.scratch_alloc_granule = gfx_level >= GFX11 ? 256 : 1024;
|
||||
|
||||
program->dev.max_waves_per_simd = 10;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue