From: Marek Olšák <[email protected]>

This will allow us to simplify a lot of code around tiling.

Kernel 3.10 is required for SI.
Kernel 3.13 is required for CIK.
---
 src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c 
b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index 2d9ec8c..702d073 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -504,14 +504,22 @@ static boolean do_winsys_init(struct radeon_drm_winsys 
*ws)
         return FALSE;
     }
 
-    if (radeon_get_drm_value(ws->fd, RADEON_INFO_SI_TILE_MODE_ARRAY, NULL,
-                             ws->info.si_tile_mode_array)) {
-        ws->info.si_tile_mode_array_valid = TRUE;
+    if (ws->info.chip_class == CIK) {
+        if (!radeon_get_drm_value(ws->fd, 
RADEON_INFO_CIK_MACROTILE_MODE_ARRAY, NULL,
+                                  ws->info.cik_macrotile_mode_array)) {
+            fprintf(stderr, "radeon: Kernel 3.13 is required for CIK 
support.\n");
+            return FALSE;
+        }
+        ws->info.cik_macrotile_mode_array_valid = TRUE;
     }
 
-    if (radeon_get_drm_value(ws->fd, RADEON_INFO_CIK_MACROTILE_MODE_ARRAY, 
NULL,
-                             ws->info.cik_macrotile_mode_array)) {
-        ws->info.cik_macrotile_mode_array_valid = TRUE;
+    if (ws->info.chip_class >= SI) {
+        if (!radeon_get_drm_value(ws->fd, RADEON_INFO_SI_TILE_MODE_ARRAY, NULL,
+                                  ws->info.si_tile_mode_array)) {
+            fprintf(stderr, "radeon: Kernel 3.10 is required for SI 
support.\n");
+            return FALSE;
+        }
+        ws->info.si_tile_mode_array_valid = TRUE;
     }
 
     /* Hawaii with old firmware needs type2 nop packet.
-- 
2.5.0

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to