summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorBen Skeggs <[email protected]>2008-07-08 12:51:29 +1000
committerBen Skeggs <[email protected]>2008-07-08 12:51:29 +1000
commit06d87b44cffef9e335b9a0e70fd2aec61fcd171b (patch)
tree48cf9cf4ac65844865dbf65b5f9dd1a117895795 /src/gallium/drivers
parent205101dafb0042ebeeab3dd50f549d8a3d3c08ce (diff)
nv50: make use of nouveau drm 0.0.11 to get 3d going
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_bo.h2
-rw-r--r--src/gallium/drivers/nouveau/nouveau_stateobj.h3
-rw-r--r--src/gallium/drivers/nv50/nv50_state_validate.c6
3 files changed, 8 insertions, 3 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_bo.h b/src/gallium/drivers/nouveau/nouveau_bo.h
index 18020e9c652..65b138283c4 100644
--- a/src/gallium/drivers/nouveau/nouveau_bo.h
+++ b/src/gallium/drivers/nouveau/nouveau_bo.h
@@ -35,6 +35,8 @@
#define NOUVEAU_BO_HIGH (1 << 7)
#define NOUVEAU_BO_OR (1 << 8)
#define NOUVEAU_BO_LOCAL (1 << 9)
+#define NOUVEAU_BO_TILED (1 << 10)
+#define NOUVEAU_BO_ZTILE (1 << 11)
#define NOUVEAU_BO_DUMMY (1 << 31)
struct nouveau_bo {
diff --git a/src/gallium/drivers/nouveau/nouveau_stateobj.h b/src/gallium/drivers/nouveau/nouveau_stateobj.h
index 78b27380702..998ec2d4ad4 100644
--- a/src/gallium/drivers/nouveau/nouveau_stateobj.h
+++ b/src/gallium/drivers/nouveau/nouveau_stateobj.h
@@ -136,6 +136,9 @@ so_emit_reloc_markers(struct nouveau_winsys *nvws, struct nouveau_stateobj *so)
struct nouveau_pushbuf *pb = nvws->channel->pushbuf;
unsigned i;
+ if (!so)
+ return;
+
i = so->cur_reloc << 1;
if (nvws->channel->pushbuf->remaining < i)
nvws->push_flush(nvws, i, NULL);
diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c b/src/gallium/drivers/nv50/nv50_state_validate.c
index cf5a071a8d6..88ef685bb1f 100644
--- a/src/gallium/drivers/nv50/nv50_state_validate.c
+++ b/src/gallium/drivers/nv50/nv50_state_validate.c
@@ -44,7 +44,7 @@ nv50_state_validate_fb(struct nv50_context *nv50)
so_data(so, 0xe6);
break;
}
- so_data(so, 0x00000040);
+ so_data(so, 0x00000000);
so_data(so, 0x00000000);
so_method(so, tesla, 0x1224, 1);
@@ -82,7 +82,7 @@ nv50_state_validate_fb(struct nv50_context *nv50)
so_data(so, 0x16);
break;
}
- so_data(so, 0x00000040);
+ so_data(so, 0x00000000);
so_data(so, 0x00000000);
so_method(so, tesla, 0x1538, 1);
@@ -265,7 +265,7 @@ scissor_uptodate:
so_data (so, 0x2a712488);
so_reloc(so, mt->buffer, 0, NOUVEAU_BO_VRAM |
NOUVEAU_BO_LOW, 0, 0);
- so_data (so, 0xd0c05000);
+ so_data (so, 0xd0005000);
so_data (so, 0x00300000);
so_data (so, mt->base.width[0]);
so_data (so, (mt->base.depth[0] << 16) |