Skip to content

intel: fix compute SLM sizes on Xe2 and newer

Paulo Zanoni requested to merge pzanoni/mesa:lnl-slm-fixes into main
intel: fix compute SLM sizes on Xe2 and newer

Before the patch, intel_device_info_get_max_preferred_slm_size()
returns values in kilobytes, but then
intel_device_info_get_max_slm_size() is multiplying it by 1024.
As a result, LNL is reporting maxComputeSharedMemorySize to be
134217728, which is 128mb.

Fix this by making intel_device_info_get_max_preferred_slm_size()
return its value in kilobytes, and then change the other caller to
adjust to the new measurement unit.

This should fix a bunch of dEQP tests, including but not limited to:
  dEQP-VK.compute.pipeline.zero_initialize_workgroup_memory.max_workgroup_memory.16

Some tests were failing with:
    deqp-vk: ../../src/intel/common/intel_compute_slm.c:24: slm_encode_lookup: Assertion `kbytes <= table[table_len - 1].size_in_kb' failed.
while other tests were triggering the OOM.

Fixes: fd368f552112 ("anv: Set maxComputeSharedMemorySize value for Xe2 platforms")

Cc: @zehortigoza @llandwerlin

Merge request reports