- 0001-Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch

* Fix crash in swrast when setting a texture for a pixmap 
    (bnc #641297)
- readd swrastg DRI driver

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=140
This commit is contained in:
Stefan Dirsch 2010-11-06 08:50:48 +00:00 committed by Git OBS Bridge
parent e350c69ad5
commit fc54bbfeb3
3 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,39 @@
From 761ca4b98dfe7440402aa8e24defc2c881975f07 Mon Sep 17 00:00:00 2001
From: Egbert Eich <eich@suse.de>
Date: Fri, 5 Nov 2010 08:00:12 +0100
Subject: [PATCH] Fix crash in swrast when setting a texture for a pixmap.
When getImage() is called in swrastSetTexBuffer2() there will be
a crash somewhere down the line since texImage->Data isn't initialized
which holds a pointer to the destination.
To initialize texImage->Data we call ctx->Driver.TexImage2D().
---
Mesa-7.9/src/mesa/drivers/dri/swrast/swrast.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/Mesa-7.9/src/mesa/drivers/dri/swrast/swrast.c b/Mesa-7.9/src/mesa/drivers/dri/swrast/swrast.c
index ff53ffd..233f225 100644
--- a/Mesa-7.9/src/mesa/drivers/dri/swrast/swrast.c
+++ b/Mesa-7.9/src/mesa/drivers/dri/swrast/swrast.c
@@ -62,6 +62,7 @@
static void swrastSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
GLint texture_format, __DRIdrawable *dPriv)
{
+ GET_CURRENT_CONTEXT(ctx);
struct dri_context *dri_ctx;
int x, y, w, h;
__DRIscreen *sPriv = dPriv->driScreenPriv;
@@ -92,6 +93,10 @@ static void swrastSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
_mesa_set_fetch_functions(texImage, 2);
+ ctx->Driver.TexImage2D(ctx, target, 0, internalFormat,
+ w, h, 0, texture_format, GL_UNSIGNED_INT_8_8_8_8,
+ NULL, &ctx->Unpack, texObj, texImage);
+
sPriv->swrast_loader->getImage(dPriv, x, y, w, h, (char *)texImage->Data,
dPriv->loaderPrivate);
--
1.7.3.1

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Nov 6 08:36:11 UTC 2010 - sndirsch@novell.com
- 0001-Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
* Fix crash in swrast when setting a texture for a pixmap
(bnc #641297)
- readd swrastg DRI driver
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Nov 3 20:45:02 UTC 2010 - sndirsch@novell.com Wed Nov 3 20:45:02 UTC 2010 - sndirsch@novell.com

View File

@ -54,6 +54,7 @@ Patch1: dri_driver_dir.diff
# to be upstreamed # to be upstreamed
Patch8: egl-buildfix.diff Patch8: egl-buildfix.diff
Patch9: Mesa_indirect_old_xserver_compatibility.diff Patch9: Mesa_indirect_old_xserver_compatibility.diff
Patch11: 0001-Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
# already upstream # already upstream
Patch10: commit-d316391.diff Patch10: commit-d316391.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -148,6 +149,7 @@ sed -i 's/REPLACE/%_lib/g' src/egl/drivers/dri2/Makefile
%patch8 %patch8
%patch9 -p0 %patch9 -p0
%patch10 -p1 %patch10 -p1
%patch11 -p2
%build %build
@ -218,7 +220,6 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
%if 0%{?suse_version} > 1020 %if 0%{?suse_version} > 1020
%fdupes -s $RPM_BUILD_ROOT/%_mandir %fdupes -s $RPM_BUILD_ROOT/%_mandir
%endif %endif
rm $RPM_BUILD_ROOT/%{_libdir}/dri/swrastg_dri.so
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT