summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/radeon/drm
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-01-05 12:48:30 +0100
committerMarek Olšák <[email protected]>2014-01-06 18:40:42 +0100
commit346b6abab9d0ec2d3aec6efe5a4bb03803666c2f (patch)
tree90f92934250010676713d98ac47d6bb1b41240f8 /src/gallium/winsys/radeon/drm
parentbf3c3611130112062470299c154df2610633683a (diff)
radeonsi: calculate NUM_BANKS for DB correctly on CIK
NUM_BANKS is not constant on CIK. Reviewed-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src/gallium/winsys/radeon/drm')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_winsys.c5
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_winsys.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index 2cd183423b6..dc9d183ae6a 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -423,6 +423,11 @@ static boolean do_winsys_init(struct radeon_drm_winsys *ws)
ws->info.si_tile_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;
+ }
+
return TRUE;
}
diff --git a/src/gallium/winsys/radeon/drm/radeon_winsys.h b/src/gallium/winsys/radeon/drm/radeon_winsys.h
index 0d0064a6120..55f60d3f412 100644
--- a/src/gallium/winsys/radeon/drm/radeon_winsys.h
+++ b/src/gallium/winsys/radeon/drm/radeon_winsys.h
@@ -198,6 +198,9 @@ struct radeon_info {
boolean si_tile_mode_array_valid;
uint32_t si_tile_mode_array[32];
+
+ boolean cik_macrotile_mode_array_valid;
+ uint32_t cik_macrotile_mode_array[16];
};
enum radeon_feature_id {