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 = """\

Reply via email to