Module: Mesa Branch: main Commit: 62921cf0265847f687d5ff43ee5ab75ab5dbf1ea URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=62921cf0265847f687d5ff43ee5ab75ab5dbf1ea
Author: Mark Collins <[email protected]> Date: Tue Oct 3 15:58:56 2023 +0000 freedreno/common: Add max_sets property to A6xxGPUInfo A7XX increases the maximum amount of descriptor sets from 5 to 8, the amount of descriptor sets was added as a property of the A6xxGPUInfo to accommodate it changing across GPUs. Signed-off-by: Mark Collins <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25534> --- src/freedreno/common/freedreno_dev_info.h | 3 +++ src/freedreno/common/freedreno_devices.py | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/freedreno/common/freedreno_dev_info.h b/src/freedreno/common/freedreno_dev_info.h index 4f2af42a8d4..bc7bb6c4a91 100644 --- a/src/freedreno/common/freedreno_dev_info.h +++ b/src/freedreno/common/freedreno_dev_info.h @@ -188,6 +188,9 @@ struct fd_dev_info { uint32_t reg; uint32_t value; } magic_raw[32]; + + /* maximum number of descriptor sets */ + uint32_t max_sets; } a6xx; struct { diff --git a/src/freedreno/common/freedreno_devices.py b/src/freedreno/common/freedreno_devices.py index 7e9a3d73bd0..da18775439e 100644 --- a/src/freedreno/common/freedreno_devices.py +++ b/src/freedreno/common/freedreno_devices.py @@ -143,7 +143,7 @@ class A6xxGPUInfo(GPUInfo): def __init__(self, chip, template, num_ccu, tile_align_w, tile_align_h, num_vsc_pipes, cs_shared_mem_size, wave_granularity, fibers_per_sp, - magic_regs, raw_magic_regs = None): + magic_regs, raw_magic_regs = None, max_sets = 5): super().__init__(chip, gmem_align_w = 16, gmem_align_h = 4, tile_align_w = tile_align_w, tile_align_h = tile_align_h, @@ -185,6 +185,8 @@ class A6xxGPUInfo(GPUInfo): self.a6xx.vs_max_inputs_count = 32 + self.a6xx.max_sets = max_sets + templates = template if type(template) is list else [template] for template in templates: template.apply_props(self) @@ -761,6 +763,7 @@ add_gpus([ [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8120, 0x09510840], [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8121, 0x00000a62], ], + max_sets = 8, )) add_gpus([ @@ -824,6 +827,7 @@ add_gpus([ [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_800B, 0x00000000], [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_800C, 0x00000000], ], + max_sets = 8, )) template = """\
