summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_draw.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2012-04-24 20:58:47 +0200
committerMarek Olšák <maraeo@gmail.com>2012-04-30 01:14:26 +0200
commit4552fd50d959ab99546cfa994f8ba5bdf5d66bc7 (patch)
tree6fa793d4b11531704029adfd33bfd5a94b90e230 /src/gallium/auxiliary/util/u_draw.c
parent7a0545972694e6afc6c5ac60db563defa79c20d9 (diff)
downloadexternal_mesa3d-4552fd50d959ab99546cfa994f8ba5bdf5d66bc7.zip
external_mesa3d-4552fd50d959ab99546cfa994f8ba5bdf5d66bc7.tar.gz
external_mesa3d-4552fd50d959ab99546cfa994f8ba5bdf5d66bc7.tar.bz2
gallium: add void *user_buffer in pipe_vertex_buffer
This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code in that function which was required only to comply with the gallium interface, but wasn't any useful really. Adapted drivers: i915, llvmpipe, r300, softpipe. No changes required in: r600, radeonsi. User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
Diffstat (limited to 'src/gallium/auxiliary/util/u_draw.c')
-rw-r--r--src/gallium/auxiliary/util/u_draw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_draw.c b/src/gallium/auxiliary/util/u_draw.c
index d16575b..1f3eb88 100644
--- a/src/gallium/auxiliary/util/u_draw.c
+++ b/src/gallium/auxiliary/util/u_draw.c
@@ -62,6 +62,10 @@ util_draw_max_index(
const struct util_format_description *format_desc;
unsigned format_size;
+ if (!buffer->buffer) {
+ continue;
+ }
+
assert(buffer->buffer->height0 == 1);
assert(buffer->buffer->depth0 == 1);
buffer_size = buffer->buffer->width0;