mesa: move FLUSH_VERTICES() call to meta

There is no need for this to be in the common code.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Timothy Arceri 2017-03-30 21:24:13 +11:00
parent 2e70de7d2f
commit 94224950dd
3 changed files with 13 additions and 15 deletions

View file

@ -321,13 +321,14 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
GL_DYNAMIC_DRAW, __func__);
/* setup vertex arrays */
FLUSH_VERTICES(ctx, 0);
if (use_generic_attributes) {
assert(color_size == 0);
_mesa_update_array_format(ctx, array_obj, VERT_ATTRIB_GENERIC(0),
vertex_size, GL_FLOAT, GL_RGBA, GL_FALSE,
GL_FALSE, GL_FALSE,
offsetof(struct vertex, x), true);
offsetof(struct vertex, x));
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_GENERIC(0),
*buf_obj, 0, sizeof(struct vertex));
_mesa_enable_vertex_array_attrib(ctx, array_obj,
@ -336,7 +337,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
_mesa_update_array_format(ctx, array_obj, VERT_ATTRIB_GENERIC(1),
texcoord_size, GL_FLOAT, GL_RGBA,
GL_FALSE, GL_FALSE, GL_FALSE,
offsetof(struct vertex, tex), false);
offsetof(struct vertex, tex));
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_GENERIC(1),
*buf_obj, 0, sizeof(struct vertex));
_mesa_enable_vertex_array_attrib(ctx, array_obj,
@ -346,7 +347,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
_mesa_update_array_format(ctx, array_obj, VERT_ATTRIB_POS,
vertex_size, GL_FLOAT, GL_RGBA, GL_FALSE,
GL_FALSE, GL_FALSE,
offsetof(struct vertex, x), true);
offsetof(struct vertex, x));
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_POS,
*buf_obj, 0, sizeof(struct vertex));
_mesa_enable_vertex_array_attrib(ctx, array_obj, VERT_ATTRIB_POS);
@ -355,7 +356,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
_mesa_update_array_format(ctx, array_obj, VERT_ATTRIB_TEX(0),
vertex_size, GL_FLOAT, GL_RGBA, GL_FALSE,
GL_FALSE, GL_FALSE,
offsetof(struct vertex, tex), false);
offsetof(struct vertex, tex));
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_TEX(0),
*buf_obj, 0, sizeof(struct vertex));
_mesa_enable_vertex_array_attrib(ctx, array_obj, VERT_ATTRIB_TEX(0));
@ -365,7 +366,7 @@ _mesa_meta_setup_vertex_objects(struct gl_context *ctx,
_mesa_update_array_format(ctx, array_obj, VERT_ATTRIB_COLOR0,
vertex_size, GL_FLOAT, GL_RGBA, GL_FALSE,
GL_FALSE, GL_FALSE,
offsetof(struct vertex, r), false);
offsetof(struct vertex, r));
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_COLOR0,
*buf_obj, 0, sizeof(struct vertex));
_mesa_enable_vertex_array_attrib(ctx, array_obj, VERT_ATTRIB_COLOR0);
@ -3319,20 +3320,22 @@ _mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
GL_DYNAMIC_DRAW, __func__);
/* setup vertex arrays */
FLUSH_VERTICES(ctx, 0);
_mesa_update_array_format(ctx, array_obj, VERT_ATTRIB_POS,
3, GL_FLOAT, GL_RGBA, GL_FALSE,
GL_FALSE, GL_FALSE,
offsetof(struct vertex, x), true);
offsetof(struct vertex, x));
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_POS,
drawtex->buf_obj, 0, sizeof(struct vertex));
_mesa_enable_vertex_array_attrib(ctx, array_obj, VERT_ATTRIB_POS);
for (i = 0; i < ctx->Const.MaxTextureUnits; i++) {
FLUSH_VERTICES(ctx, 0);
_mesa_update_array_format(ctx, array_obj, VERT_ATTRIB_TEX(i),
2, GL_FLOAT, GL_RGBA, GL_FALSE,
GL_FALSE, GL_FALSE,
offsetof(struct vertex, st[i]), true);
offsetof(struct vertex, st[i]));
_mesa_bind_vertex_buffer(ctx, array_obj, VERT_ATTRIB_TEX(i),
drawtex->buf_obj, 0, sizeof(struct vertex));
_mesa_enable_vertex_array_attrib(ctx, array_obj, VERT_ATTRIB_TEX(i));

View file

@ -280,17 +280,13 @@ _mesa_update_array_format(struct gl_context *ctx,
GLuint attrib, GLint size, GLenum type,
GLenum format, GLboolean normalized,
GLboolean integer, GLboolean doubles,
GLuint relativeOffset, bool flush_vertices)
GLuint relativeOffset)
{
struct gl_array_attributes *const array = &vao->VertexAttrib[attrib];
GLint elementSize;
assert(size <= 4);
if (flush_vertices) {
FLUSH_VERTICES(ctx, 0);
}
elementSize = _mesa_bytes_per_vertex_attrib(size, type);
assert(elementSize != -1);
@ -439,8 +435,7 @@ update_array_format(struct gl_context *ctx,
}
_mesa_update_array_format(ctx, vao, attrib, size, type, format,
normalized, integer, doubles, relativeOffset,
false);
normalized, integer, doubles, relativeOffset);
return true;
}

View file

@ -94,7 +94,7 @@ _mesa_update_array_format(struct gl_context *ctx,
GLuint attrib, GLint size, GLenum type,
GLenum format, GLboolean normalized,
GLboolean integer, GLboolean doubles,
GLuint relativeOffset, bool flush_vertices);
GLuint relativeOffset);
extern void
_mesa_enable_vertex_array_attrib(struct gl_context *ctx,