summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv40
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-03-21 22:09:29 +1100
committerBen Skeggs <skeggsb@gmail.com>2008-03-21 22:09:29 +1100
commit308d7b171179f40b767b6590f71f969473ade25c (patch)
tree5829d8767b471d1bbd208840d636f1da4f45c6b8 /src/gallium/drivers/nv40
parent0c91f5991dee7827ea915214a2a6973c2d6a7257 (diff)
nv40: swtnl fallback on unsupported array format
Diffstat (limited to 'src/gallium/drivers/nv40')
-rw-r--r--src/gallium/drivers/nv40/nv40_vbo.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/nv40/nv40_vbo.c b/src/gallium/drivers/nv40/nv40_vbo.c
index fad423fdf8..4a5b811939 100644
--- a/src/gallium/drivers/nv40/nv40_vbo.c
+++ b/src/gallium/drivers/nv40/nv40_vbo.c
@@ -423,8 +423,12 @@ nv40_vbo_validate(struct nv40_context *nv40)
continue;
}
- if (nv40_vbo_format_to_hw(ve->src_format, &type, &ncomp))
- assert(0);
+ if (nv40_vbo_format_to_hw(ve->src_format, &type, &ncomp)) {
+ nv40->fallback_swtnl |= NV40_NEW_ARRAYS;
+ so_ref(NULL, &vtxbuf);
+ so_ref(NULL, &vtxfmt);
+ return FALSE;
+ }
so_reloc(vtxbuf, vb->buffer, vb->buffer_offset + ve->src_offset,
vb_flags | NOUVEAU_BO_LOW | NOUVEAU_BO_OR,