mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 09:30:11 +01:00
mesa: Add flush_vertices to _mesa_bind_vertex_buffer.
We will need the flush_vertices argument later in this series. Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
354b76ad20
commit
ef8028017d
4 changed files with 19 additions and 16 deletions
|
|
@ -348,7 +348,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
|
|||
GL_FALSE, GL_FALSE,
|
||||
offsetof(struct vertex, x));
|
||||
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_GENERIC(0),
|
||||
*buf_obj, 0, sizeof(struct vertex));
|
||||
*buf_obj, 0, sizeof(struct vertex), true);
|
||||
_mesa_enable_vertex_array_attrib(ctx, array_obj,
|
||||
VERT_ATTRIB_GENERIC(0), true);
|
||||
if (texcoord_size > 0) {
|
||||
|
|
@ -357,7 +357,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
|
|||
GL_FALSE, GL_FALSE, GL_FALSE,
|
||||
offsetof(struct vertex, tex));
|
||||
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_GENERIC(1),
|
||||
*buf_obj, 0, sizeof(struct vertex));
|
||||
*buf_obj, 0, sizeof(struct vertex), true);
|
||||
_mesa_enable_vertex_array_attrib(ctx, array_obj,
|
||||
VERT_ATTRIB_GENERIC(1), true);
|
||||
}
|
||||
|
|
@ -367,7 +367,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
|
|||
GL_FALSE, GL_FALSE,
|
||||
offsetof(struct vertex, x));
|
||||
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_POS,
|
||||
*buf_obj, 0, sizeof(struct vertex));
|
||||
*buf_obj, 0, sizeof(struct vertex), true);
|
||||
_mesa_enable_vertex_array_attrib(ctx, array_obj,
|
||||
VERT_ATTRIB_POS, true);
|
||||
|
||||
|
|
@ -377,7 +377,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
|
|||
GL_FALSE, GL_FALSE,
|
||||
offsetof(struct vertex, tex));
|
||||
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_TEX(0),
|
||||
*buf_obj, 0, sizeof(struct vertex));
|
||||
*buf_obj, 0, sizeof(struct vertex), true);
|
||||
_mesa_enable_vertex_array_attrib(ctx, array_obj,
|
||||
VERT_ATTRIB_TEX(0), true);
|
||||
}
|
||||
|
|
@ -388,7 +388,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
|
|||
GL_FALSE, GL_FALSE,
|
||||
offsetof(struct vertex, r));
|
||||
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_COLOR0,
|
||||
*buf_obj, 0, sizeof(struct vertex));
|
||||
*buf_obj, 0, sizeof(struct vertex), true);
|
||||
_mesa_enable_vertex_array_attrib(ctx, array_obj,
|
||||
VERT_ATTRIB_COLOR0, true);
|
||||
}
|
||||
|
|
@ -3347,7 +3347,8 @@ _mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
|
|||
GL_FALSE, GL_FALSE,
|
||||
offsetof(struct vertex, x));
|
||||
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_POS,
|
||||
drawtex->buf_obj, 0, sizeof(struct vertex));
|
||||
drawtex->buf_obj, 0,
|
||||
sizeof(struct vertex), true);
|
||||
_mesa_enable_vertex_array_attrib(ctx, array_obj, VERT_ATTRIB_POS, true);
|
||||
|
||||
|
||||
|
|
@ -3358,7 +3359,8 @@ _mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
|
|||
GL_FALSE, GL_FALSE,
|
||||
offsetof(struct vertex, st[i]));
|
||||
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_TEX(i),
|
||||
drawtex->buf_obj, 0, sizeof(struct vertex));
|
||||
drawtex->buf_obj, 0,
|
||||
sizeof(struct vertex), true);
|
||||
_mesa_enable_vertex_array_attrib(ctx, array_obj,
|
||||
VERT_ATTRIB_TEX(i), true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1167,7 +1167,7 @@ unbind(struct gl_context *ctx,
|
|||
if (vao->BufferBinding[index].BufferObj == obj) {
|
||||
_mesa_bind_vertex_buffer(ctx, vao, index, ctx->Shared->NullBufferObj,
|
||||
vao->BufferBinding[index].Offset,
|
||||
vao->BufferBinding[index].Stride);
|
||||
vao->BufferBinding[index].Stride, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ _mesa_bind_vertex_buffer(struct gl_context *ctx,
|
|||
struct gl_vertex_array_object *vao,
|
||||
GLuint index,
|
||||
struct gl_buffer_object *vbo,
|
||||
GLintptr offset, GLsizei stride)
|
||||
GLintptr offset, GLsizei stride, bool flush_vertices)
|
||||
{
|
||||
assert(index < ARRAY_SIZE(vao->BufferBinding));
|
||||
struct gl_vertex_buffer_binding *binding = &vao->BufferBinding[index];
|
||||
|
|
@ -202,8 +202,9 @@ _mesa_bind_vertex_buffer(struct gl_context *ctx,
|
|||
if (binding->BufferObj != vbo ||
|
||||
binding->Offset != offset ||
|
||||
binding->Stride != stride) {
|
||||
|
||||
FLUSH_VERTICES(ctx, _NEW_ARRAY);
|
||||
if (flush_vertices) {
|
||||
FLUSH_VERTICES(ctx, _NEW_ARRAY);
|
||||
}
|
||||
|
||||
_mesa_reference_buffer_object(ctx, &binding->BufferObj, vbo);
|
||||
|
||||
|
|
@ -605,7 +606,7 @@ update_array(struct gl_context *ctx,
|
|||
GLsizei effectiveStride = stride != 0 ? stride : array->_ElementSize;
|
||||
_mesa_bind_vertex_buffer(ctx, vao, attrib,
|
||||
ctx->Array.ArrayBufferObj, (GLintptr) ptr,
|
||||
effectiveStride);
|
||||
effectiveStride, true);
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
|
|
@ -2118,7 +2119,7 @@ vertex_array_vertex_buffer(struct gl_context *ctx,
|
|||
}
|
||||
|
||||
_mesa_bind_vertex_buffer(ctx, vao, VERT_ATTRIB_GENERIC(bindingIndex),
|
||||
vbo, offset, stride);
|
||||
vbo, offset, stride, true);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -2270,7 +2271,7 @@ vertex_array_vertex_buffers(struct gl_context *ctx,
|
|||
|
||||
for (i = 0; i < count; i++)
|
||||
_mesa_bind_vertex_buffer(ctx, vao, VERT_ATTRIB_GENERIC(first + i),
|
||||
vbo, 0, 16);
|
||||
vbo, 0, 16, true);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -2344,7 +2345,7 @@ vertex_array_vertex_buffers(struct gl_context *ctx,
|
|||
}
|
||||
|
||||
_mesa_bind_vertex_buffer(ctx, vao, VERT_ATTRIB_GENERIC(first + i),
|
||||
vbo, offsets[i], strides[i]);
|
||||
vbo, offsets[i], strides[i], true);
|
||||
}
|
||||
|
||||
_mesa_HashUnlockMutex(ctx->Shared->BufferObjects);
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ _mesa_bind_vertex_buffer(struct gl_context *ctx,
|
|||
struct gl_vertex_array_object *vao,
|
||||
GLuint index,
|
||||
struct gl_buffer_object *vbo,
|
||||
GLintptr offset, GLsizei stride);
|
||||
GLintptr offset, GLsizei stride, bool flush_vertices);
|
||||
|
||||
extern void GLAPIENTRY
|
||||
_mesa_VertexPointer_no_error(GLint size, GLenum type, GLsizei stride,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue