summaryrefslogtreecommitdiff
path: root/testing/source/mesa/patches/mesa-7.9-libdrm-2.4.23-nouveau-api.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/source/mesa/patches/mesa-7.9-libdrm-2.4.23-nouveau-api.patch')
-rw-r--r--testing/source/mesa/patches/mesa-7.9-libdrm-2.4.23-nouveau-api.patch89
1 files changed, 89 insertions, 0 deletions
diff --git a/testing/source/mesa/patches/mesa-7.9-libdrm-2.4.23-nouveau-api.patch b/testing/source/mesa/patches/mesa-7.9-libdrm-2.4.23-nouveau-api.patch
new file mode 100644
index 00000000..d0ce04d2
--- /dev/null
+++ b/testing/source/mesa/patches/mesa-7.9-libdrm-2.4.23-nouveau-api.patch
@@ -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,