panfrost: Add tentative bifrost_texture_descriptor
[mesa.git] / src / panfrost / include / panfrost-quirks.h
index 83c7c84b02063e470d40f343598dbc4bc7bac7ae..c8d631cd4763bbe474c8483268f29c5a519b3534 100644 (file)
 
 #define MIDGARD_SFBD (1 << 1)
 
+/* Whether fp16 is broken in the compiler. Hopefully this quirk will go away
+ * over time */
+
+#define MIDGARD_BROKEN_FP16 (1 << 2)
+
+/* What it says on the tin */
+#define IS_BIFROST (1 << 3)
+
+/* Quirk collections common to particular uarchs */
+
+#define MIDGARD_QUIRKS (MIDGARD_BROKEN_FP16)
+
+#define BIFROST_QUIRKS (IS_BIFROST)
+
 static inline unsigned
 panfrost_get_quirks(unsigned gpu_id)
 {
         switch (gpu_id) {
         case 0x600:
         case 0x620:
-                return MIDGARD_SFBD;
+                return MIDGARD_QUIRKS | MIDGARD_SFBD;
 
         case 0x720:
-                return MIDGARD_SFBD | MIDGARD_NO_HIER_TILING;
+                return MIDGARD_QUIRKS | MIDGARD_SFBD | MIDGARD_NO_HIER_TILING;
 
         case 0x820:
         case 0x830:
-                return MIDGARD_NO_HIER_TILING;
+                return MIDGARD_QUIRKS | MIDGARD_NO_HIER_TILING;
 
         case 0x750:
         case 0x860:
         case 0x880:
-                return 0;
+                return MIDGARD_QUIRKS;
+
+        case 0x7093: /* G31 */
+        case 0x7212: /* G52 */
+                return BIFROST_QUIRKS;
 
         default:
-                unreachable("Invalid Midgard GPU ID");
+                unreachable("Unknown Panfrost GPU ID");
         }
 }