Mesa (main): pan/bi: Clean up quirks

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 28 18:03:03 UTC 2022


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

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Tue Jan 25 19:56:42 2022 -0500

pan/bi: Clean up quirks

NO_PRELOAD isn't actually used. The other quirks are used, but they're
implementation details only affecting a few older models. So we can default to
no quirks and clean up a lot.

Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14726>

---

 src/panfrost/bifrost/bi_quirks.h | 32 ++++++--------------------------
 1 file changed, 6 insertions(+), 26 deletions(-)

diff --git a/src/panfrost/bifrost/bi_quirks.h b/src/panfrost/bifrost/bi_quirks.h
index d4e030ed537..d6727895577 100644
--- a/src/panfrost/bifrost/bi_quirks.h
+++ b/src/panfrost/bifrost/bi_quirks.h
@@ -28,16 +28,10 @@
  * may be errata requiring a workaround, or features. We're trying to be
  * quirk-positive here; quirky is the best! */
 
-/* Whether this GPU lacks support for the preload mechanism. New GPUs can have
- * varyings and textures preloaded into the fragment shader to amortize the I/O
- * cost; early Bifrost models lacked this feature. */
-
-#define BIFROST_NO_PRELOAD (1 << 0)
-
 /* Whether this GPU lacks support for fp32 transcendentals, requiring backend
  * lowering to low-precision lookup tables and polynomial approximation */
 
-#define BIFROST_NO_FP32_TRANSCENDENTALS (1 << 1)
+#define BIFROST_NO_FP32_TRANSCENDENTALS (1 << 0)
 
 /* Whether this GPU lacks support for the full form of the CLPER instruction.
  * These GPUs use a simple encoding of CLPER that does not support
@@ -45,33 +39,19 @@
  * lowering to additional ALU instructions. The encoding forces inactive_result
  * = zero, subgroup_size = subgroup4, and lane_op = none. */
 
-#define BIFROST_LIMITED_CLPER (1 << 2)
+#define BIFROST_LIMITED_CLPER (1 << 1)
 
 static inline unsigned
 bifrost_get_quirks(unsigned product_id)
 {
         switch (product_id >> 8) {
-        case 0x60:
-                return BIFROST_NO_PRELOAD | BIFROST_NO_FP32_TRANSCENDENTALS |
-                       BIFROST_LIMITED_CLPER;
-        case 0x62:
-                return BIFROST_NO_PRELOAD | BIFROST_LIMITED_CLPER;
+        case 0x60: /* G71 */
+                return BIFROST_NO_FP32_TRANSCENDENTALS | BIFROST_LIMITED_CLPER;
+        case 0x62: /* G72 */
         case 0x70: /* G31 */
                 return BIFROST_LIMITED_CLPER;
-        case 0x71:
-        case 0x72:
-        case 0x73:
-        case 0x74:
-                return 0;
-        case 0x90:
-        case 0x91:
-        case 0x92:
-        case 0x93:
-        case 0x94:
-        case 0x95:
-                return BIFROST_NO_PRELOAD;
         default:
-                unreachable("Unknown Bifrost/Valhall GPU ID");
+                return 0;
         }
 }
 



More information about the mesa-commit mailing list