Mesa (main): freedreno/ir3: Get reg_size_vec4 from fd_dev_info

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 14 02:20:02 UTC 2021


Module: Mesa
Branch: main
Commit: f4cfb5a61ecf4deee75205f87d1df875ed1de144
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4cfb5a61ecf4deee75205f87d1df875ed1de144

Author: Rob Clark <robdclark at chromium.org>
Date:   Thu Jul  8 10:02:19 2021 -0700

freedreno/ir3: Get reg_size_vec4 from fd_dev_info

Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11790>

---

 src/freedreno/common/freedreno_dev_info.h |  2 ++
 src/freedreno/common/freedreno_devices.py |  3 +++
 src/freedreno/ir3/ir3_compiler.c          | 10 +++-------
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/freedreno/common/freedreno_dev_info.h b/src/freedreno/common/freedreno_dev_info.h
index 77756a290bd..bed3c2c60d1 100644
--- a/src/freedreno/common/freedreno_dev_info.h
+++ b/src/freedreno/common/freedreno_dev_info.h
@@ -57,6 +57,8 @@ struct fd_dev_info {
          /* Information for private memory calculations */
          uint32_t fibers_per_sp;
 
+         uint32_t reg_size_vec4;
+
          /* Whether the PC_MULTIVIEW_MASK register exists. */
          bool supports_multiview_mask;
 
diff --git a/src/freedreno/common/freedreno_devices.py b/src/freedreno/common/freedreno_devices.py
index 8404d4fc6d6..4de74d65ec0 100644
--- a/src/freedreno/common/freedreno_devices.py
+++ b/src/freedreno/common/freedreno_devices.py
@@ -174,12 +174,14 @@ add_gpus([
 # a615, a618, a630:
 a6xx_gen1 = dict(
         fibers_per_sp = 128 * 16,
+        reg_size_vec4 = 96,
         ccu_cntl_gmem_unk2 = True,
     )
 
 # a640, a680:
 a6xx_gen2 = dict(
         fibers_per_sp = 128 * 4 * 16,
+        reg_size_vec4 = 96,
         supports_multiview_mask = True,
         has_z24uint_s8uint = True,
     )
@@ -187,6 +189,7 @@ a6xx_gen2 = dict(
 # a650:
 a6xx_gen3 = dict(
         fibers_per_sp = 128 * 2 * 16,
+        reg_size_vec4 = 64,
         supports_multiview_mask = True,
         has_z24uint_s8uint = True,
         tess_use_shared = True,
diff --git a/src/freedreno/ir3/ir3_compiler.c b/src/freedreno/ir3/ir3_compiler.c
index 54fe98bcaa7..e3a9b3584f0 100644
--- a/src/freedreno/ir3/ir3_compiler.c
+++ b/src/freedreno/ir3/ir3_compiler.c
@@ -136,13 +136,9 @@ ir3_compiler_create(struct fd_device *dev, uint32_t gpu_id,
       compiler->max_const_safe = 256;
    }
 
-   if (compiler->gpu_id == 650) {
-      /* This changed mid-generation for a650, so that using r32.x and above
-       * requires using the smallest threadsize.
-       */
-      compiler->reg_size_vec4 = 64;
-   } else if (compiler->gpu_id >= 600) {
-      compiler->reg_size_vec4 = 96;
+   if (compiler->gpu_id >= 600) {
+      compiler->reg_size_vec4 =
+            fd_dev_info(compiler->gpu_id)->a6xx.reg_size_vec4;
    } else if (compiler->gpu_id >= 400) {
       /* On a4xx-a5xx, using r24.x and above requires using the smallest
        * threadsize.



More information about the mesa-commit mailing list