mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-04 10:58:15 +02:00
intel/dev: Use URB mesh/task min/max values in intel_device_info
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41789>
This commit is contained in:
parent
45d9c2c14b
commit
c1bb5e101e
1 changed files with 6 additions and 4 deletions
|
|
@ -353,13 +353,15 @@ intel_get_mesh_urb_config(const struct intel_device_info *devinfo,
|
|||
}
|
||||
}
|
||||
|
||||
const unsigned min_mesh = MAX2(devinfo->urb.min_entries[MESA_SHADER_MESH], 1);
|
||||
const unsigned min_task = MAX2(devinfo->urb.min_entries[MESA_SHADER_TASK], 1);
|
||||
/* 3DSTATE_URB_ALLOC_MESH_BODY and 3DSTATE_URB_ALLOC_TASK_BODY says
|
||||
*
|
||||
* MESH Number of URB Entries must be divisible by 8 if the MESH/TASK URB
|
||||
* Entry Allocation Size is less than 9 512-bit URB entries.
|
||||
*/
|
||||
const unsigned min_mesh_entries = urb_cfg->size[MESA_SHADER_MESH] < 9 ? 8 : 1;
|
||||
const unsigned min_task_entries = urb_cfg->size[MESA_SHADER_TASK] < 9 ? 8 : 1;
|
||||
const unsigned min_mesh_entries = urb_cfg->size[MESA_SHADER_MESH] < 9 ? 8 : min_mesh;
|
||||
const unsigned min_task_entries = urb_cfg->size[MESA_SHADER_TASK] < 9 ? 8 : min_task;
|
||||
const unsigned min_mesh_urb_kb = align(urb_cfg->size[MESA_SHADER_MESH] *
|
||||
min_mesh_entries * 64, 1024) / 1024;
|
||||
const unsigned min_task_urb_kb = align(urb_cfg->size[MESA_SHADER_TASK] *
|
||||
|
|
@ -394,7 +396,7 @@ intel_get_mesh_urb_config(const struct intel_device_info *devinfo,
|
|||
|
||||
urb_cfg->start[MESA_SHADER_MESH] = next_address_8kb;
|
||||
urb_cfg->entries[MESA_SHADER_MESH] =
|
||||
MIN2((mesh_urb_kb * 16) / urb_cfg->size[MESA_SHADER_MESH], 1548);
|
||||
MIN2((mesh_urb_kb * 16) / urb_cfg->size[MESA_SHADER_MESH], devinfo->urb.max_entries[MESA_SHADER_MESH]);
|
||||
urb_cfg->entries[MESA_SHADER_MESH] =
|
||||
urb_cfg->size[MESA_SHADER_MESH] < 9 ?
|
||||
ROUND_DOWN_TO(urb_cfg->entries[MESA_SHADER_MESH], 8) :
|
||||
|
|
@ -407,7 +409,7 @@ intel_get_mesh_urb_config(const struct intel_device_info *devinfo,
|
|||
task_urb_kb = total_urb_avail_mesh_task_kb - mesh_urb_kb;
|
||||
if (urb_cfg->size[MESA_SHADER_TASK] > 0) {
|
||||
urb_cfg->entries[MESA_SHADER_TASK] =
|
||||
MIN2((task_urb_kb * 16) / urb_cfg->size[MESA_SHADER_TASK], 1548);
|
||||
MIN2((task_urb_kb * 16) / urb_cfg->size[MESA_SHADER_TASK], devinfo->urb.max_entries[MESA_SHADER_TASK]);
|
||||
urb_cfg->entries[MESA_SHADER_TASK] =
|
||||
urb_cfg->size[MESA_SHADER_TASK] < 9 ?
|
||||
ROUND_DOWN_TO(urb_cfg->entries[MESA_SHADER_TASK], 8) :
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue