diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2017-03-01 18:00:40 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2017-03-02 16:05:55 +0900 |
commit | 0a12bf1085505017068dfdfd31d23133e51b45b9 (patch) | |
tree | 300fd39c0e4b94eaf25598f1e3f157455658ffd0 /src/radeon.h | |
parent | df2d749a4db33298c8ce9f2cfb77c20c5538c9cc (diff) |
Call drmmode_set_desired_modes from a WindowExposures hook
This is the earliest opportunity where the root window contents are
guaranteed to be initialized, and prevents drmmode_set_mode_major from
getting called before drmmode_set_desired_modes via RADEONUnblank ->
drmmode_crtc_dpms. Also, in contrast to the BlockHandler hook, this is
called when running Xorg with -pogo.
Fixes intermittently showing garbage on server startup or after server
reset.
As a bonus, this avoids trouble due to higher layers (e.g. the tigervnc
Xorg module) calling RADEONBlockHandler_oneshot repeatedly even after
we set pScreen->BlockHandler = RADEONBlockHandler_KMS.
v2:
* Drop spaces between XORG_VERSION_NUMERIC arguments
* Call radeon_bo_wait after radeon_cs_flush_indirect
Bugzilla: https://bugs.freedesktop.org/99457
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Diffstat (limited to 'src/radeon.h')
-rw-r--r-- | src/radeon.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/radeon.h b/src/radeon.h index bfff232c..815c12a1 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -523,6 +523,7 @@ typedef struct { CreateScreenResourcesProcPtr CreateScreenResources; CreateWindowProcPtr CreateWindow; + WindowExposuresProcPtr WindowExposures; Bool IsSecondary; |