gallium/radeon: set num_banks in the winsys
[mesa.git] / src / gallium / winsys / radeon / drm / radeon_drm_winsys.c
index b97ccfd16797d4a69f9029df861894eda0ceadde..f857a14e0338510ddd24dbf7bd93d0c15e709321 100644 (file)
@@ -385,6 +385,11 @@ static boolean do_winsys_init(struct radeon_drm_winsys *ws)
         radeon_get_drm_value(ws->fd, RADEON_INFO_TILING_CONFIG, NULL,
                              &ws->info.r600_tiling_config);
 
+        ws->info.r600_num_banks =
+            ws->info.chip_class >= EVERGREEN ?
+                4 << ((ws->info.r600_tiling_config & 0xf0) >> 4) :
+                4 << ((ws->info.r600_tiling_config & 0x30) >> 4);
+
         if (ws->info.drm_minor >= 11) {
             radeon_get_drm_value(ws->fd, RADEON_INFO_NUM_TILE_PIPES, NULL,
                                  &ws->info.num_tile_pipes);