[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: