intel/common: Add helper for compute thread group dispatch size

The recommended settings is just a guidance and not a programming
requirement as per the Bspec.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35904>
This commit is contained in:
Sagar Ghuge 2025-07-02 17:50:51 -07:00 committed by Marge Bot
parent b89bf4b79b
commit 0c4e1c9efc
2 changed files with 19 additions and 0 deletions

View file

@ -217,3 +217,19 @@ intel_compute_engine_async_threads_limit(const struct intel_device_info *devinfo
*ret_z_pass_async_compute_thread_limit = z_pass_async_compute_thread_limit;
*ret_np_z_async_throttle_settings = np_z_async_throttle_settings;
}
int
intel_compute_threads_group_dispatch_size(uint32_t hw_threads_in_wg)
{
/* Following value calculated based on overdispatch is disabled. In case if
* compute overdispatch disabled set to 1, then we need to use TG Size 1.
*/
switch (hw_threads_in_wg) {
case 1 ... 16:
return 0;
case 17 ... 32:
return 1;
default:
return 2;
}
}

View file

@ -15,3 +15,6 @@ intel_compute_engine_async_threads_limit(const struct intel_device_info *devinfo
uint8_t *ret_pixel_async_compute_thread_limit,
uint8_t *ret_z_pass_async_compute_thread_limit,
uint8_t *ret_np_z_async_throttle_settings);
int
intel_compute_threads_group_dispatch_size(uint32_t hw_threads_in_wg);