From c5a951213ed5c8f0dacdc52b7e72e0ba22689996 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 10 Apr 2007 20:23:30 +0000 Subject: [PATCH] - mesa-6.5.2-radeon-backports-231787.patch: Backport various radeon bugfixes from git. (#231787) --- mesa-6.5.2-radeon-backports-231787.patch | 133 +++++++++++++++++++++++ mesa.spec | 8 +- 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 mesa-6.5.2-radeon-backports-231787.patch diff --git a/mesa-6.5.2-radeon-backports-231787.patch b/mesa-6.5.2-radeon-backports-231787.patch new file mode 100644 index 0000000..0f836aa --- /dev/null +++ b/mesa-6.5.2-radeon-backports-231787.patch @@ -0,0 +1,133 @@ +--- Mesa-6.5.2/src/mesa/main/texstore.c.radeon-231787 2006-11-02 17:57:11.000000000 -0500 ++++ Mesa-6.5.2/src/mesa/main/texstore.c 2007-04-10 14:52:22.000000000 -0400 +@@ -808,7 +808,8 @@ + + /* _mesa_printf("map %d %d %d %d\n", map[0], map[1], map[2], map[3]); */ + +- if (srcRowStride == srcWidth * srcComponents && ++ if (srcRowStride == dstRowStride && ++ srcRowStride == srcWidth * srcComponents && + dimensions < 3) { + /* 1 and 2D images only */ + GLubyte *dstImage = (GLubyte *) dstAddr +--- Mesa-6.5.2/src/mesa/drivers/dri/r200/r200_lock.c.radeon-231787 2006-11-15 14:54:40.000000000 -0500 ++++ Mesa-6.5.2/src/mesa/drivers/dri/r200/r200_lock.c 2007-04-10 14:51:44.000000000 -0400 +@@ -98,7 +98,6 @@ + r200SetCliprects( rmesa, GL_FRONT_LEFT ); + r200UpdateViewportOffset( rmesa->glCtx ); + driUpdateFramebufferSize(rmesa->glCtx, drawable); +- rmesa->lastStamp = drawable->lastStamp; + } + + R200_STATECHANGE( rmesa, ctx ); +--- Mesa-6.5.2/src/mesa/drivers/dri/r200/r200_state.c.radeon-231787 2006-11-15 14:54:40.000000000 -0500 ++++ Mesa-6.5.2/src/mesa/drivers/dri/r200/r200_state.c 2007-04-10 14:51:44.000000000 -0400 +@@ -1890,6 +1890,8 @@ + + if (rmesa->state.scissor.enabled) + r200RecalcScissorRects( rmesa ); ++ ++ rmesa->lastStamp = drawable->lastStamp; + } + + +--- Mesa-6.5.2/src/mesa/drivers/dri/r200/r200_context.c.radeon-231787 2007-04-10 14:50:43.000000000 -0400 ++++ Mesa-6.5.2/src/mesa/drivers/dri/r200/r200_context.c 2007-04-10 14:51:44.000000000 -0400 +@@ -694,11 +694,13 @@ + &newCtx->vbl_seq ); + } + ++ newCtx->dri.readable = driReadPriv; ++ + if ( newCtx->dri.drawable != driDrawPriv || +- newCtx->dri.readable != driReadPriv ) { ++ newCtx->lastStamp != driDrawPriv->lastStamp ) { + newCtx->dri.drawable = driDrawPriv; +- newCtx->dri.readable = driReadPriv; + ++ r200SetCliprects(newCtx, GL_BACK_LEFT); + r200UpdateWindow( newCtx->glCtx ); + r200UpdateViewportOffset( newCtx->glCtx ); + } +--- Mesa-6.5.2/src/mesa/drivers/dri/r300/radeon_context.c.radeon-231787 2006-11-15 09:55:48.000000000 -0500 ++++ Mesa-6.5.2/src/mesa/drivers/dri/r300/radeon_context.c 2007-04-10 14:52:07.000000000 -0400 +@@ -51,6 +51,7 @@ + #include "radeon_macros.h" + #include "radeon_reg.h" + ++#include "radeon_state.h" + #include "r300_state.h" + + #include "utils.h" +@@ -279,6 +280,8 @@ + + r300UpdateWindow(radeon->glCtx); + r300UpdateViewportOffset(radeon->glCtx); ++ ++ radeonSetCliprects(radeon); + } + + _mesa_make_current(radeon->glCtx, +--- Mesa-6.5.2/src/mesa/drivers/dri/r300/radeon_state.c.radeon-231787 2006-11-15 09:55:48.000000000 -0500 ++++ Mesa-6.5.2/src/mesa/drivers/dri/r300/radeon_state.c 2007-04-10 14:52:07.000000000 -0400 +@@ -185,6 +185,8 @@ + + if (radeon->state.scissor.enabled) + radeonRecalcScissorRects(radeon); ++ ++ radeon->lastStamp = drawable->lastStamp; + } + + +--- Mesa-6.5.2/src/mesa/drivers/dri/r300/radeon_lock.c.radeon-231787 2006-11-01 13:52:11.000000000 -0500 ++++ Mesa-6.5.2/src/mesa/drivers/dri/r300/radeon_lock.c 2007-04-10 14:52:07.000000000 -0400 +@@ -90,7 +90,6 @@ + #else + radeonUpdateScissor(radeon->glCtx); + #endif +- radeon->lastStamp = drawable->lastStamp; + } + + if (sarea->ctx_owner != radeon->dri.hwContext) { +--- Mesa-6.5.2/src/mesa/drivers/dri/radeon/radeon_context.c.radeon-231787 2007-04-10 14:50:43.000000000 -0400 ++++ Mesa-6.5.2/src/mesa/drivers/dri/radeon/radeon_context.c 2007-04-10 14:51:44.000000000 -0400 +@@ -615,12 +615,14 @@ + driDrawableInitVBlank( driDrawPriv, newCtx->vblank_flags, + &newCtx->vbl_seq ); + } +- +- if ( (newCtx->dri.drawable != driDrawPriv) +- || (newCtx->dri.readable != driReadPriv) ) { ++ ++ newCtx->dri.readable = driReadPriv; ++ ++ if ( (newCtx->dri.drawable != driDrawPriv) || ++ newCtx->lastStamp != driDrawPriv->lastStamp ) { + newCtx->dri.drawable = driDrawPriv; +- newCtx->dri.readable = driReadPriv; + ++ radeonSetCliprects(newCtx); + radeonUpdateWindow( newCtx->glCtx ); + radeonUpdateViewportOffset( newCtx->glCtx ); + } +--- Mesa-6.5.2/src/mesa/drivers/dri/radeon/radeon_state.c.radeon-231787 2006-11-01 13:52:11.000000000 -0500 ++++ Mesa-6.5.2/src/mesa/drivers/dri/radeon/radeon_state.c 2007-04-10 14:51:44.000000000 -0400 +@@ -1676,6 +1676,8 @@ + + if (rmesa->state.scissor.enabled) + radeonRecalcScissorRects( rmesa ); ++ ++ rmesa->lastStamp = drawable->lastStamp; + } + + +--- Mesa-6.5.2/src/mesa/drivers/dri/radeon/radeon_lock.c.radeon-231787 2006-10-19 10:32:06.000000000 -0400 ++++ Mesa-6.5.2/src/mesa/drivers/dri/radeon/radeon_lock.c 2007-04-10 14:51:44.000000000 -0400 +@@ -96,7 +96,6 @@ + radeonSetCliprects( rmesa ); + radeonUpdateViewportOffset( rmesa->glCtx ); + driUpdateFramebufferSize(rmesa->glCtx, drawable); +- rmesa->lastStamp = drawable->lastStamp; + } + + RADEON_STATECHANGE( rmesa, ctx ); diff --git a/mesa.spec b/mesa.spec index 68f034f..78a03bf 100644 --- a/mesa.spec +++ b/mesa.spec @@ -31,7 +31,7 @@ Summary: Mesa graphics libraries Name: mesa Version: 6.5.2 -Release: 9%{?dist} +Release: 10%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org @@ -50,6 +50,7 @@ Patch20: mesa-6.5.2-libgl-visibility.patch Patch21: mesa-6.5.2-picify-dri-drivers.patch Patch22: mesa-6.5.2-hush-synthetic-visual-warning.patch Patch23: mesa-6.5.2-bindcontext-paranoia.patch +Patch24: mesa-6.5.2-radeon-backports-231787.patch BuildRequires: pkgconfig %if %{with_dri} @@ -167,6 +168,7 @@ The glx-utils package provides the glxinfo and glxgears utilities. %patch21 -p1 -b .picify %patch22 -p1 -b .visual-warning %patch23 -p1 -b .bindcontext +%patch24 -p1 -b .radeon-231787 # WARNING: The following files are copyright "Mark J. Kilgard" under the GLUT # license and are not open source/free software, so we remove them. @@ -336,6 +338,10 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/glxinfo %changelog +* Tue Apr 10 2007 Adam Jackson 6.5.2-10 +- mesa-6.5.2-radeon-backports-231787.patch: Backport various radeon bugfixes + from git. (#231787) + * Wed Apr 04 2007 Adam Jackson 6.5.2-9 - mesa-6.5.2-bindcontext-paranoia.patch: Paper over a crash when doBindContext fails, to avoid, for example, crashing the server when using tdfx but