xf86-video-intel: 4 commits - src/sna/sna_display.c src/uxa/intel_display.c src/uxa/intel_dri.c
Chris Wilson
ickle at kemper.freedesktop.org
Mon Jan 6 06:43:44 PST 2014
src/sna/sna_display.c | 4 ++--
src/uxa/intel_display.c | 10 +++++-----
src/uxa/intel_dri.c | 5 +++--
3 files changed, 10 insertions(+), 9 deletions(-)
New commits:
commit 82fa7ec352426c7e3d5210aac8ea1030232cc0f3
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Jan 6 14:30:56 2014 +0000
uxa: Always treat DPMSModeSuspend/Standby similar to DPMSModeOff
As we assume that Suspend, Standby alias to Off and disable the crtc
when switching to any mode other than On, we need to also perform the
backlight updates for Suspend,Standby prior to passing the DPMS value
onto the kernel.
Suggested-by: Alexander Monakov <amonakov at gmail.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/uxa/intel_display.c b/src/uxa/intel_display.c
index f584f35..39d8507 100644
--- a/src/uxa/intel_display.c
+++ b/src/uxa/intel_display.c
@@ -1118,7 +1118,7 @@ intel_output_dpms(xf86OutputPtr output, int dpms)
if (!strcmp(props->name, "DPMS")) {
/* Make sure to reverse the order between on and off. */
- if (dpms == DPMSModeOff)
+ if (dpms != DPMSModeOn)
intel_output_dpms_backlight(output,
intel_output->dpms_mode,
dpms);
@@ -1129,7 +1129,7 @@ intel_output_dpms(xf86OutputPtr output, int dpms)
props->prop_id,
dpms);
- if (dpms != DPMSModeOff)
+ if (dpms == DPMSModeOn)
intel_output_dpms_backlight(output,
intel_output->dpms_mode,
dpms);
commit 28a057105b6974803aee0d68c2a71f322095dfde
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Jan 6 14:37:09 2014 +0000
uxa: Disable updating properties upon reading their values
Backport commit e76b08cad2770015346fd4cd757de3bb3b6ff37c
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Oct 15 12:46:09 2013 +0100
sna: Disable updating properties upon reading their values
in order to prevent random screen blanking upon return from DPMS.
Reported-by: Alexander Monakov <amonakov at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73181
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/uxa/intel_display.c b/src/uxa/intel_display.c
index 9bda006..f584f35 100644
--- a/src/uxa/intel_display.c
+++ b/src/uxa/intel_display.c
@@ -1188,7 +1188,7 @@ intel_output_create_ranged_atom(xf86OutputPtr output, Atom *atom,
err = RRChangeOutputProperty(output->randr_output, *atom, XA_INTEGER,
32, PropModeReplace, 1, &value, FALSE,
- TRUE);
+ FALSE);
if (err != 0)
xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
"RRChangeOutputProperty error, %d\n", err);
@@ -1271,7 +1271,7 @@ intel_output_create_resources(xf86OutputPtr output)
break;
/* there's always a matching value */
err = RRChangeOutputProperty(output->randr_output, p->atoms[0],
- XA_ATOM, 32, PropModeReplace, 1, &p->atoms[j+1], FALSE, TRUE);
+ XA_ATOM, 32, PropModeReplace, 1, &p->atoms[j+1], FALSE, FALSE);
if (err != 0) {
xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
"RRChangeOutputProperty error, %d\n", err);
@@ -1391,7 +1391,7 @@ intel_output_get_property(xf86OutputPtr output, Atom property)
err = RRChangeOutputProperty(output->randr_output, property,
XA_INTEGER, 32, PropModeReplace, 1, &val,
- FALSE, TRUE);
+ FALSE, FALSE);
if (err != 0) {
xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
"RRChangeOutputProperty error, %d\n", err);
commit 0138b38dfcd933d080f86cfd33664eeb3f5558a0
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Jan 6 14:30:56 2014 +0000
sna: Always treat DPMSModeSuspend/Standby similar to DPMSModeOff
As we assume that Suspend, Standby alias to Off and disable the crtc
when switching to any mode other than On, we need to also perform the
backlight updates for Suspend,Standby prior to passing the DPMS value
onto the kernel.
Suggested-by: Alexander Monakov <amonakov at gmail.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 5810dd1..4818cfc 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -2293,7 +2293,7 @@ sna_output_dpms(xf86OutputPtr output, int dpms)
* record the value before the kernel modifies it
* and reapply it afterwards.
*/
- if (dpms == DPMSModeOff)
+ if (dpms != DPMSModeOn)
sna_output_dpms_backlight(output,
sna_output->dpms_mode,
dpms);
@@ -2304,7 +2304,7 @@ sna_output_dpms(xf86OutputPtr output, int dpms)
sna_output->dpms_id,
dpms);
- if (dpms != DPMSModeOff)
+ if (dpms == DPMSModeOn)
sna_output_dpms_backlight(output,
sna_output->dpms_mode,
dpms);
commit 28810d5b367942c96acbc696f27105259422a0d1
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Jan 6 14:26:38 2014 +0000
uxa/dri: Pixmap are offscreen and not attached to any display
As the code current assumes that pixmaps are located at screen origin
(0,0), it assumes that they are all on the first CRTC. However, since
they are offscreen, this leads to such complications as attempting to
emit vsync swapbuffers, and even worse attempting to swap a GLXPixmap
onto the scanout following a DRI2SwapBuffers.
Reported-by: Alexander Monakov <amonakov at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73282
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/uxa/intel_dri.c b/src/uxa/intel_dri.c
index 08a0bd4..1d7efab 100644
--- a/src/uxa/intel_dri.c
+++ b/src/uxa/intel_dri.c
@@ -581,7 +581,7 @@ I830DRI2DrawablePipe(DrawablePtr pDraw)
ScreenPtr pScreen = pDraw->pScreen;
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
BoxRec box, crtcbox;
- xf86CrtcPtr crtc;
+ xf86CrtcPtr crtc = NULL;
int pipe = -1;
box.x1 = pDraw->x;
@@ -589,7 +589,8 @@ I830DRI2DrawablePipe(DrawablePtr pDraw)
box.x2 = box.x1 + pDraw->width;
box.y2 = box.y1 + pDraw->height;
- crtc = intel_covering_crtc(pScrn, &box, NULL, &crtcbox);
+ if (pDraw->type != DRAWABLE_PIXMAP)
+ crtc = intel_covering_crtc(pScrn, &box, NULL, &crtcbox);
/* Make sure the CRTC is valid and this is the real front buffer */
if (crtc != NULL && !crtc->rotatedData)
More information about the xorg-commit
mailing list