mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 02:40:11 +01:00
st/mesa: fix all_varyings_in_vbos() regression
Fixes regression from d631c19db4.
See http://bugs.freedesktop.org/show_bug.cgi?id=38626
This commit is contained in:
parent
c0c0bb6cb1
commit
d91dc4a356
1 changed files with 17 additions and 1 deletions
|
|
@ -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++) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue