Revert "Revert "amdgpu: Set USWC for SCANOUT images.""
This reverts commit 91d36976aa84abde87f0f56d235d57042ca3ea81.i
The previous changes should fix the mapping performance with USWC
memory.
original change:
amdgpu: Set USWC for SCANOUT images.
This is necessary for scanout from GTT. Without it, the kernel will
migrate it to the carveout. For large resolutions this would not be
feasible due to small carveout sizes and hence it is important that
we alloc scanout from GTT.
The original patch was on top of
4eebcea "amdgpu: make AMDGPU_GEM_CREATE_CPU_GTT_USWC flag default"
which set USWC unconditionally, but has since been reverted. The
main failure reason is being addressed in mesa-amd. This patch also
still disables USWC if we can and the image will be read often on
the CPU, to avoid staging textures during memory mapping.
TEST=Run android.hardware.camera2.cts.RecordingTest#testVideoPreviewSurfaceSharing on Grunt.
BUG=b:152378755
Change-Id: Ice0041de6676c057a2659986b962c2d54833e928
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/2246025
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
This commit is contained in:
parent
4a3f98cc34
commit
4daf12cff0
1 changed files with 5 additions and 1 deletions
6
amdgpu.c
6
amdgpu.c
|
|
@ -426,7 +426,11 @@ static int amdgpu_create_bo_linear(struct bo *bo, uint32_t width, uint32_t heigh
|
|||
gem_create.in.domain_flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
|
||||
|
||||
gem_create.in.domains = AMDGPU_GEM_DOMAIN_GTT;
|
||||
if (!(use_flags & (BO_USE_SW_READ_OFTEN | BO_USE_SCANOUT)))
|
||||
|
||||
/* Scanout in GTT requires USWC, otherwise try to use cachable memory
|
||||
* for buffers that are read often, because uncacheable reads can be
|
||||
* very slow. USWC should be faster on the GPU though. */
|
||||
if ((use_flags & BO_USE_SCANOUT) || !(use_flags & BO_USE_SW_READ_OFTEN))
|
||||
gem_create.in.domain_flags |= AMDGPU_GEM_CREATE_CPU_GTT_USWC;
|
||||
|
||||
/* Allocate the buffer with the preferred heap. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue