Commit 17525164 authored by Michel Dänzer's avatar Michel Dänzer Committed by Michel Dänzer

Handle RandR CRTC transforms properly

parent 6000aef4
......@@ -607,7 +607,6 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
crtc->x = x;
crtc->y = y;
crtc->rotation = rotation;
crtc->transformPresent = FALSE;
output_ids = calloc(sizeof(uint32_t), xf86_config->num_output);
if (!output_ids) {
......@@ -778,6 +777,15 @@ static void drmmode_load_cursor_argb(xf86CrtcPtr crtc, CARD32 * image)
}
}
static Bool drmmode_load_cursor_argb_check(xf86CrtcPtr crtc, CARD32 * image)
{
if (crtc->transformPresent)
return FALSE;
drmmode_load_cursor_argb(crtc, image);
return TRUE;
}
static void drmmode_hide_cursor(xf86CrtcPtr crtc)
{
ScrnInfoPtr pScrn = crtc->scrn;
......@@ -925,6 +933,7 @@ static xf86CrtcFuncsRec drmmode_crtc_funcs = {
.show_cursor = drmmode_show_cursor,
.hide_cursor = drmmode_hide_cursor,
.load_cursor_argb = drmmode_load_cursor_argb,
.load_cursor_argb_check = drmmode_load_cursor_argb_check,
.gamma_set = drmmode_crtc_gamma_set,
.shadow_create = drmmode_crtc_shadow_create,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment