diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2018-04-23 18:44:06 +0200 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2018-04-23 18:44:06 +0200 |
commit | 463477661c88cab3a87746499e5838c5b9f9a13b (patch) | |
tree | 1c9151320928a55cc793cfc1bd23236751773489 | |
parent | 72c3e9c7308fbcdf85708b72f9be14a5f2f8e7b5 (diff) |
Don't call scanout_flip/update with a legacy RandR scanout buffer
It means we are not using our own scanout buffers.
Fixes crash when TearFree is supposed to be enabled, but
drmmode_handle_transform doesn't set crtc->driverIsPerformingTransform.
Bugzilla: https://bugs.freedesktop.org/105736
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | src/amdgpu_kms.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c index c86c787..5ea90f9 100644 --- a/src/amdgpu_kms.c +++ b/src/amdgpu_kms.c @@ -1055,6 +1055,9 @@ static void AMDGPUBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL) xf86CrtcPtr crtc = xf86_config->crtc[c]; drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; + if (drmmode_crtc->rotate.pixmap) + continue; + if (drmmode_crtc->tear_free) amdgpu_scanout_flip(pScreen, info, crtc); else if (drmmode_crtc->scanout[drmmode_crtc->scanout_id].pixmap) |