mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-19 10:38:30 +02:00
radv: fix max_lds_per_simd on GFX10
num_simd_per_compute_unit was the number of SIMDs per compute unit, but lds_size_per_workgroup was the bytes of LDS per WGP. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8761>
This commit is contained in:
parent
0face691b1
commit
43108824ec
1 changed files with 5 additions and 1 deletions
|
|
@ -1599,7 +1599,11 @@ radv_get_max_waves(struct radv_device *device,
|
|||
device->physical_device->rad_info.num_physical_wave64_vgprs_per_simd / vgprs);
|
||||
}
|
||||
|
||||
unsigned max_lds_per_simd = device->physical_device->rad_info.lds_size_per_workgroup / device->physical_device->rad_info.num_simd_per_compute_unit;
|
||||
unsigned simd_per_workgroup = device->physical_device->rad_info.num_simd_per_compute_unit;
|
||||
if (chip_class >= GFX10)
|
||||
simd_per_workgroup *= 2; /* like lds_size_per_workgroup, assume WGP on GFX10+ */
|
||||
|
||||
unsigned max_lds_per_simd = device->physical_device->rad_info.lds_size_per_workgroup / simd_per_workgroup;
|
||||
if (lds_per_wave)
|
||||
max_simd_waves = MIN2(max_simd_waves, max_lds_per_simd / lds_per_wave);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue