[PATCH xf86-video-amdgpu] Only map front buffer if necessary for ShadowFB
Michel Dänzer
michel at daenzer.net
Mon Jan 25 23:14:04 PST 2016
From: Michel Dänzer <michel.daenzer at amd.com>
Otherwise the front buffer may not be accessible by the CPU, because Mesa
sets the AMDGPU_GEM_CREATE_NO_CPU_ACCESS flag for tiled buffers, because
accessing tiled buffers with the CPU makes little sense.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
src/amdgpu_kms.c | 3 ++-
src/drmmode_display.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index e090c25..4475bff 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -1431,7 +1431,8 @@ static Bool amdgpu_setup_kernel_mem(ScreenPtr pScreen)
return FALSE;
}
- if (amdgpu_bo_map(pScrn, info->front_buffer)) {
+ if (info->shadow_fb &&
+ amdgpu_bo_map(pScrn, info->front_buffer) != 0) {
ErrorF("Failed to map front buffer memory\n");
return FALSE;
}
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 3f015f9..fe1d17e 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1741,7 +1741,7 @@ static Bool drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
goto fail;
}
- if (amdgpu_bo_map(scrn, info->front_buffer)) {
+ if (info->shadow_fb && amdgpu_bo_map(scrn, info->front_buffer) != 0) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"Failed to map front buffer memory\n");
goto fail;
--
2.7.0.rc3
More information about the xorg-driver-ati
mailing list