diff options
author | marha <marha@users.sourceforge.net> | 2011-06-27 08:58:51 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-06-27 08:58:51 +0200 |
commit | 83cb62fe8002927ba95861a4fd21cc44c48bfcf7 (patch) | |
tree | f90eaf2bf24e10662389e32a6877c4c95e18229d /mesalib/src/mesa/state_tracker/st_draw.c | |
parent | e4b391377808d3a264dacdac7db76add26dee26c (diff) | |
parent | 0feab87a4300a3e204e259d14a0a63e58e4a3c8f (diff) | |
download | vcxsrv-83cb62fe8002927ba95861a4fd21cc44c48bfcf7.tar.gz vcxsrv-83cb62fe8002927ba95861a4fd21cc44c48bfcf7.tar.bz2 vcxsrv-83cb62fe8002927ba95861a4fd21cc44c48bfcf7.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
apps/xwininfo/configure.ac
apps/xwininfo/xwininfo.c
fontconfig/src/fcmatch.c
mesalib/include/GL/internal/dri_interface.h
mesalib/src/glsl/main.cpp
mesalib/src/mesa/main/pack.c
mesalib/src/mesa/main/renderbuffer.c
mesalib/src/mesa/main/renderbuffer.h
mesalib/src/mesa/main/teximage.c
mesalib/src/mesa/state_tracker/st_cb_texture.c
mesalib/src/mesa/state_tracker/st_draw.c
mesalib/src/mesa/state_tracker/st_format.c
pixman/configure.ac
pixman/pixman/pixman-arm-neon-asm.S
pixman/test/blitters-test.c
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_draw.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_draw.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_draw.c b/mesalib/src/mesa/state_tracker/st_draw.c index 6d86e1310..3b1fab04e 100644 --- a/mesalib/src/mesa/state_tracker/st_draw.c +++ b/mesalib/src/mesa/state_tracker/st_draw.c @@ -233,6 +233,22 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format, }
+/**
+ * This is very similar to vbo_all_varyings_in_vbos() but we test
+ * the stride. See bug 38626.
+ */
+static GLboolean
+all_varyings_in_vbos(const struct gl_client_array *arrays[])
+{
+ GLuint i;
+
+ for (i = 0; i < VERT_ATTRIB_MAX; i++)
+ if (arrays[i]->StrideB && !_mesa_is_bufferobj(arrays[i]->BufferObj))
+ return GL_FALSE;
+
+ return GL_TRUE;
+}
+
/**
* Examine the active arrays to determine if we have interleaved
@@ -648,7 +664,7 @@ st_draw_vbo(struct gl_context *ctx, if (ib) {
/* Gallium probably doesn't want this in some cases. */
if (!index_bounds_valid)
- if (!vbo_all_varyings_in_vbos(arrays))
+ if (!all_varyings_in_vbos(arrays))
vbo_get_minmax_index(ctx, prims, ib, &min_index, &max_index);
for (i = 0; i < nr_prims; i++) {
|