]> git.pld-linux.org Git - packages/Mesa.git/commitdiff
- rel 8; fix nouveau segfaults with libdrm 2.4.23 (from gentoo) auto/th/Mesa-7_9-8 auto/ti/Mesa-7_9-8
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 12 Dec 2010 16:57:55 +0000 (16:57 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    Mesa-nouveau.patch -> 1.1
    Mesa.spec -> 1.264

Mesa-nouveau.patch [new file with mode: 0644]
Mesa.spec

diff --git a/Mesa-nouveau.patch b/Mesa-nouveau.patch
new file mode 100644 (file)
index 0000000..d0ce04d
--- /dev/null
@@ -0,0 +1,89 @@
+diff -ur a/src/gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c
+--- a/src/gallium/drivers/nouveau/nouveau_screen.c     2010-10-02 00:51:28.000000000 +0200
++++ b/src/gallium/drivers/nouveau/nouveau_screen.c     2010-12-11 18:18:20.527000045 +0100
+@@ -236,7 +236,7 @@
+       int ret;
+       ret = nouveau_channel_alloc(dev, 0xbeef0201, 0xbeef0202,
+-                                  &screen->channel);
++                                  512*1024, &screen->channel);
+       if (ret)
+               return ret;
+       screen->device = dev;
+diff -ur a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c
+--- a/src/mesa/drivers/dri/nouveau/nouveau_context.c   2010-10-05 03:58:00.000000000 +0200
++++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c   2010-12-11 18:18:20.528000045 +0100
+@@ -129,7 +129,7 @@
+       /* Allocate a hardware channel. */
+       ret = nouveau_channel_alloc(context_dev(ctx), 0xbeef0201, 0xbeef0202,
+-                                  &nctx->hw.chan);
++                                  512*1024, &nctx->hw.chan);
+       if (ret) {
+               nouveau_error("Error initializing the FIFO.\n");
+               return GL_FALSE;
+Nur in b/src/mesa/drivers/dri/nouveau: nouveau_context.c.orig.
+diff -ur a/src/mesa/drivers/dri/nouveau/nouveau_surface.c b/src/mesa/drivers/dri/nouveau/nouveau_surface.c
+--- a/src/mesa/drivers/dri/nouveau/nouveau_surface.c   2010-04-27 23:41:21.000000000 +0200
++++ b/src/mesa/drivers/dri/nouveau/nouveau_surface.c   2010-12-11 18:09:19.750000046 +0100
+@@ -34,8 +34,8 @@
+                     unsigned flags, unsigned format,
+                     unsigned width, unsigned height)
+ {
+-      unsigned tile_mode, cpp = _mesa_get_format_bytes(format);
+-      int ret;
++      unsigned tile_mode = 0, tile_flags = 0;
++      int ret, cpp = _mesa_get_format_bytes(format);
+       nouveau_bo_ref(NULL, &s->bo);
+@@ -51,13 +51,21 @@
+       if (layout == TILED) {
+               s->pitch = align(s->pitch, 256);
+               tile_mode = s->pitch;
++
++              if (cpp == 4)
++                      tile_flags = NOUVEAU_BO_TILE_32BPP;
++              else if (cpp == 2)
++                      tile_flags = NOUVEAU_BO_TILE_16BPP;
++
++              if (_mesa_get_format_bits(format, GL_DEPTH_BITS))
++                      tile_flags |= NOUVEAU_BO_TILE_ZETA;
++
+       } else {
+               s->pitch = align(s->pitch, 64);
+-              tile_mode = 0;
+       }
+       ret = nouveau_bo_new_tile(context_dev(ctx), flags, 0, s->pitch * height,
+-                                tile_mode, 0, &s->bo);
++                                tile_mode, tile_flags, &s->bo);
+       assert(!ret);
+ }
+diff -ur a/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c b/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c
+--- a/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c     2010-10-05 03:58:00.000000000 +0200
++++ b/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c     2010-12-11 18:18:20.528000045 +0100
+@@ -32,7 +32,7 @@
+ /* Arbitrary pushbuf length we can assume we can get with a single
+  * WAIT_RING. */
+-#define PUSHBUF_DWORDS 2048
++#define PUSHBUF_DWORDS 65536
+ /* Functions to set up struct nouveau_array_state from something like
+  * a GL array or index buffer. */
+diff -ur a/src/mesa/drivers/dri/nouveau/nv10_state_fb.c b/src/mesa/drivers/dri/nouveau/nv10_state_fb.c
+--- a/src/mesa/drivers/dri/nouveau/nv10_state_fb.c     2010-10-05 03:58:00.000000000 +0200
++++ b/src/mesa/drivers/dri/nouveau/nv10_state_fb.c     2010-12-11 18:15:17.756000046 +0100
+@@ -64,8 +64,8 @@
+       if (!nfb->lma_bo || nfb->lma_bo->size != size) {
+               nouveau_bo_ref(NULL, &nfb->lma_bo);
+-              nouveau_bo_new(context_dev(ctx), NOUVEAU_BO_VRAM, 0, size,
+-                             &nfb->lma_bo);
++              nouveau_bo_new_tile(context_dev(ctx), NOUVEAU_BO_VRAM, 0, size,
++                                  0, NOUVEAU_BO_TILE_ZETA, &nfb->lma_bo);
+       }
+       nouveau_bo_markl(bctx, celsius, NV17TCL_LMA_DEPTH_BUFFER_OFFSET,
index 4923d818922caec037046d0241530545bdc32941..a89cd4d54ddb8fb8bf88f130dd7f3a1f4bc74f79 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -29,7 +29,7 @@ Summary:      Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
 Version:       7.9
-Release:       7%{?with_multigl:.mgl}
+Release:       8%{?with_multigl:.mgl}
 License:       MIT (core), SGI (GLU,libGLw) and others - see license.html file
 Group:         X11/Libraries
 Source0:       ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
@@ -37,6 +37,7 @@ Source0:      ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar
 Patch0:                %{name}-realclean.patch
 Patch1:                %{name}-selinux.patch
 Patch2:                %{name}-git.patch
+Patch3:                %{name}-nouveau.patch
 URL:           http://www.mesa3d.org/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -664,6 +665,7 @@ Sterownik X.org DRI dla VMware.
 %patch0 -p0
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 %{__aclocal}
This page took 0.053905 seconds and 4 git commands to generate.