OK that sounds good. Marek
On Wed, May 11, 2022 at 2:04 AM Christian König < ckoenig.leichtzumer...@gmail.com> wrote: > Hi Marek, > > Am 10.05.22 um 22:43 schrieb Marek Olšák: > > A better flag name would be: > AMDGPU_GEM_CREATE_BEST_PLACEMENT_OR_DISCARD > > > A bit long for my taste and I think the best placement is just a side > effect. > > > Marek > > On Tue, May 10, 2022 at 4:13 PM Marek Olšák <mar...@gmail.com> wrote: > >> Does this really guarantee VRAM placement? The code doesn't say anything >> about that. >> > > Yes, see the code here: > > >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c >>> index 8b7ee1142d9a..1944ef37a61e 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c >>> @@ -567,6 +567,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev, >>> bp->domain; >>> bo->allowed_domains = bo->preferred_domains; >>> if (bp->type != ttm_bo_type_kernel && >>> + !(bp->flags & AMDGPU_GEM_CREATE_DISCARDABLE) && >>> bo->allowed_domains == AMDGPU_GEM_DOMAIN_VRAM) >>> bo->allowed_domains |= AMDGPU_GEM_DOMAIN_GTT; >>> >> > The only case where this could be circumvented is when you try to allocate > more than physically available on an APU. > > E.g. you only have something like 32 MiB VRAM and request 64 MiB, then the > GEM code will catch the error and fallback to GTT (IIRC). > > Regards, > Christian. >