mirror of
git://slackware.nl/current.git
synced 2025-01-14 08:01:11 +01:00
90 lines
3.4 KiB
Diff
90 lines
3.4 KiB
Diff
|
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,
|