summaryrefslogtreecommitdiff
path: root/amdgpu.c
diff options
context:
space:
mode:
authorShirish S <shirish.s@amd.com>2017-10-19 11:50:34 +0530
committerchrome-bot <chrome-bot@chromium.org>2017-10-24 02:20:34 -0700
commit0913b8bcf1369ebed92a1533f3c58faef93f2b6e (patch)
tree2762b172b14003c3d7f78f659b708fe4e6cd48b6 /amdgpu.c
parent568581483e80b3f840bd3d1f810bd01f3b62bc0b (diff)
minigbm: amdgpu: make AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED default
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED is required for mmapping buffers in the amdgpu kernel driver. This patch makes it default for all buffers on create. However it should be noted that in case we find any performance related regression in an un-tested scenario this patch needs to be reverted. BUG=b:65297611 TEST=On Kahlee, UI comes up. GLMark2 & GLbench.bvt autotests pass atomictest -t multiplanes passes WebGL Aquarium Change-Id: Ic82b25de63e66aac7aa04b4b255eb432c10c911b Signed-off-by: Shirish S <shirish.s@amd.com> Reviewed-on: https://chromium-review.googlesource.com/727824 Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Diffstat (limited to 'amdgpu.c')
-rw-r--r--amdgpu.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/amdgpu.c b/amdgpu.c
index 3437cb7..f858183 100644
--- a/amdgpu.c
+++ b/amdgpu.c
@@ -354,7 +354,6 @@ static int amdgpu_bo_create(struct bo *bo, uint32_t width, uint32_t height, uint
struct amdgpu_bo_metadata metadata = { 0 };
ADDR_COMPUTE_SURFACE_INFO_OUTPUT addr_out = { 0 };
uint32_t tiling_flags = 0;
- uint32_t gem_create_flags = 0;
size_t plane;
int ret;
@@ -372,19 +371,13 @@ static int amdgpu_bo_create(struct bo *bo, uint32_t width, uint32_t height, uint
bo->strides[0] = addr_out.pixelPitch * DIV_ROUND_UP(addr_out.pixelBits, 8);
}
- if (use_flags & (BO_USE_SCANOUT | BO_USE_CURSOR | BO_USE_LINEAR | BO_USE_SW_READ_OFTEN |
- BO_USE_SW_WRITE_OFTEN | BO_USE_SW_WRITE_RARELY | BO_USE_SW_READ_RARELY))
- gem_create_flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
- else
- gem_create_flags |= AMDGPU_GEM_CREATE_NO_CPU_ACCESS;
-
memset(&gem_create, 0, sizeof(gem_create));
gem_create.in.bo_size = bo->total_size;
gem_create.in.alignment = addr_out.baseAlign;
/* Set the placement. */
gem_create.in.domains = AMDGPU_GEM_DOMAIN_VRAM;
- gem_create.in.domain_flags = gem_create_flags;
+ gem_create.in.domain_flags = AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
/* Allocate the buffer with the preferred heap. */
ret = drmCommandWriteRead(drv_get_fd(bo->drv), DRM_AMDGPU_GEM_CREATE, &gem_create,
sizeof(gem_create));