Bug#420164: libgl1-mesa-dri: Darwinia only shows black screen
Package: libgl1-mesa-dri
Version: 6.5.2-4
Severity: normal
Tags: patch
With the current mesa 6.5.2, running Darwinia (and possibly other apps)
results in a black screen (the game seems to work, just nothing is
shown). There's a patch in mesa git (also attached, as it is quite
small) that fixes this issue:
http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=commitdiff;h=6f9b1afc862851532e4820705c412388b497ad58
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (900, 'unstable'), (800, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.19-beyond1 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.utf8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libgl1-mesa-dri depends on:
ii libc6 2.5-2 GNU C Library: Shared libraries
ii libdrm2 2.3.0-4 Userspace interface to kernel DRM
ii libexpat1 1.95.8-3.4 XML parsing C library - runtime li
ii libgl1-mesa-glx 6.5.2-4 A free implementation of the OpenG
libgl1-mesa-dri recommends no packages.
-- no debconf information
--
Do not rejoice in his defeat, you men,
For though the world stood up
And stopped the bastard,
The bitch that bore him is in heat again.
-- Bertolt Brecht
From: Michel Dänzer <michel@tungstengraphics.com>
Date: Tue, 6 Mar 2007 12:22:35 +0000 (+0100)
Subject: r300: Call radeonSetCliprects from radeonMakeCurrent.
X-Git-Url: http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=commitdiff;h=6f9b1afc862851532e4820705c412388b497ad58
r300: Call radeonSetCliprects from radeonMakeCurrent.
Based on a patch by Panagiotis Papadakos.
Among other things, this makes sure the framebuffer object associated with the
drawable has the correct size when _mesa_make_current is called, so the default
viewport is set up correctly.
Also update radeon->lastStamp in radeonSetCliprects.
---
--- a/src/mesa/drivers/dri/r300/radeon_context.c
+++ b/src/mesa/drivers/dri/r300/radeon_context.c
@@ -51,6 +51,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
#include "radeon_macros.h"
#include "radeon_reg.h"
+#include "radeon_state.h"
#include "r300_state.h"
#include "utils.h"
@@ -279,6 +280,8 @@ GLboolean radeonMakeCurrent(__DRIcontext
r300UpdateWindow(radeon->glCtx);
r300UpdateViewportOffset(radeon->glCtx);
+
+ radeonSetCliprects(radeon);
}
_mesa_make_current(radeon->glCtx,
--- a/src/mesa/drivers/dri/r300/radeon_lock.c
+++ b/src/mesa/drivers/dri/r300/radeon_lock.c
@@ -90,7 +90,6 @@ static void r300RegainedLock(radeonConte
#else
radeonUpdateScissor(radeon->glCtx);
#endif
- radeon->lastStamp = drawable->lastStamp;
}
if (sarea->ctx_owner != radeon->dri.hwContext) {
--- a/src/mesa/drivers/dri/r300/radeon_state.c
+++ b/src/mesa/drivers/dri/r300/radeon_state.c
@@ -185,6 +185,8 @@ void radeonSetCliprects(radeonContextPtr
if (radeon->state.scissor.enabled)
radeonRecalcScissorRects(radeon);
+
+ radeon->lastStamp = drawable->lastStamp;
}
Reply to: