summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2016-09-27 16:51:46 +0200
committerNicolai Hähnle <nicolai.haehnle@amd.com>2016-09-29 11:24:52 +0200
commitde84e99e454adede4f95c1cfd59f24c9dcc4e73d (patch)
tree05b9cb2f55d66424f17cf517918ffb1d9aa0e4bf
parent7a0e543836a69c7f51b264825316215d3f6bae8a (diff)
downloadexternal_mesa3d-de84e99e454adede4f95c1cfd59f24c9dcc4e73d.zip
external_mesa3d-de84e99e454adede4f95c1cfd59f24c9dcc4e73d.tar.gz
external_mesa3d-de84e99e454adede4f95c1cfd59f24c9dcc4e73d.tar.bz2
gallium/radeon/winsyses: add radeon_winsys::min_alloc_size
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-rw-r--r--src/gallium/drivers/radeon/radeon_winsys.h1
-rw-r--r--src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c2
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_winsys.c4
3 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/radeon_winsys.h b/src/gallium/drivers/radeon/radeon_winsys.h
index 55f0395..d0705d6 100644
--- a/src/gallium/drivers/radeon/radeon_winsys.h
+++ b/src/gallium/drivers/radeon/radeon_winsys.h
@@ -183,6 +183,7 @@ struct radeon_info {
uint64_t gart_size;
uint64_t vram_size;
uint64_t max_alloc_size;
+ uint32_t min_alloc_size;
bool has_dedicated_vram;
bool has_virtual_memory;
bool gfx_ib_pad_with_type2;
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
index c83489d..c28e1ca 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
@@ -557,6 +557,8 @@ amdgpu_winsys_create(int fd, radeon_screen_create_t screen_create)
amdgpu_bo_slab_free))
goto fail_cache;
+ ws->info.min_alloc_size = 1 << AMDGPU_SLAB_MIN_SIZE_LOG2;
+
/* init reference */
pipe_reference_init(&ws->reference, 1);
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index ae55746..16e4408 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -774,6 +774,10 @@ radeon_drm_winsys_create(int fd, radeon_screen_create_t screen_create)
radeon_bo_slab_alloc,
radeon_bo_slab_free))
goto fail_cache;
+
+ ws->info.min_alloc_size = 1 << RADEON_SLAB_MIN_SIZE_LOG2;
+ } else {
+ ws->info.min_alloc_size = ws->info.gart_page_size;
}
if (ws->gen >= DRV_R600) {