<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Haswell: lock screen disappears temporarily after dmps force off/on (laptop lid close/open)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=73842#c9">Comment # 9</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Haswell: lock screen disappears temporarily after dmps force off/on (laptop lid close/open)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=73842">bug 73842</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>My theory is that this should be fixed by:
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 000d9ab..5ab42ec 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1422,6 +1422,8 @@ static struct kgem_bo *sna_crtc_attach(xf86CrtcPtr crtc)
DBG(("%s: attaching to single shadow pixmap\n", __FUNCTION__));
if (sna->mode.shadow == NULL) {
+ BoxRec box;
+
bo = kgem_create_2d(&sna->kgem,
sna->scrn->virtualX,
sna->scrn->virtualY,
@@ -1431,6 +1433,18 @@ static struct kgem_bo *sna_crtc_attach(xf86CrtcPtr crtc)
if (bo == NULL)
return NULL;
+ box.x1 = box.y1 = 0;
+ box.x2 = sna->scrn->virtualX;
+ box.y2 = sna->scrn->virtualY;
+
+ if (!sna->render.copy_boxes(sna, GXcopy,
+ sna->front,
sna_pixmap(sna->front)->gpu_bo, 0, 0,
+ sna->front, bo, 0, 0,
+ &box, 1, 0)) {
+ kgem_bo_destroy(&sna->kgem, bo);
+ return NULL;
+ }
+
if (!get_fb(sna, bo,
sna->scrn->virtualX,
sna->scrn->virtualY)) {</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>