gallium/radeon/winsyses: add radeon_winsys::min_alloc_size
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Tue, 27 Sep 2016 14:51:46 +0000 (16:51 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 29 Sep 2016 09:24:52 +0000 (11:24 +0200)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeon/radeon_winsys.h
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
src/gallium/winsys/radeon/drm/radeon_drm_winsys.c

index 55f0395..d0705d6 100644 (file)
@@ -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;
index c83489d..c28e1ca 100644 (file)
@@ -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);
 
index ae55746..16e4408 100644 (file)
@@ -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) {