mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
vbo: Use a local variable for the dlist offsets.
The master value is now stored inside the VAO already present in struct vbo_save_vertex_list. Remove the unneeded copy from dlist storage. Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
This commit is contained in:
parent
1cc3516a11
commit
f7178d677c
2 changed files with 7 additions and 9 deletions
|
|
@ -64,7 +64,6 @@ struct vbo_save_vertex_list {
|
|||
GLbitfield64 enabled; /**< mask of enabled vbo arrays. */
|
||||
GLubyte attrsz[VBO_ATTRIB_MAX];
|
||||
GLenum16 attrtype[VBO_ATTRIB_MAX];
|
||||
GLuint offsets[VBO_ATTRIB_MAX];
|
||||
GLuint vertex_size; /**< size in GLfloats */
|
||||
struct gl_vertex_array_object *VAO[VP_MODE_MAX];
|
||||
|
||||
|
|
|
|||
|
|
@ -529,8 +529,6 @@ compile_vertex_list(struct gl_context *ctx)
|
|||
struct vbo_save_context *save = &vbo_context(ctx)->save;
|
||||
struct vbo_save_vertex_list *node;
|
||||
GLintptr buffer_offset = 0;
|
||||
GLuint offset;
|
||||
unsigned i;
|
||||
|
||||
/* Allocate space for this structure in the display list currently
|
||||
* being compiled.
|
||||
|
|
@ -563,13 +561,14 @@ compile_vertex_list(struct gl_context *ctx)
|
|||
* changes in drivers. In particular, the Gallium CSO module will
|
||||
* filter out redundant vertex buffer changes.
|
||||
*/
|
||||
offset = 0;
|
||||
buffer_offset = 0;
|
||||
} else {
|
||||
offset = node->buffer_offset;
|
||||
buffer_offset = node->buffer_offset;
|
||||
}
|
||||
for (i = 0; i < VBO_ATTRIB_MAX; ++i) {
|
||||
node->offsets[i] = offset;
|
||||
offset += node->attrsz[i] * sizeof(GLfloat);
|
||||
GLuint offsets[VBO_ATTRIB_MAX];
|
||||
for (unsigned i = 0, offset = 0; i < VBO_ATTRIB_MAX; ++i) {
|
||||
offsets[i] = offset;
|
||||
offset += save->attrsz[i] * sizeof(GLfloat);
|
||||
}
|
||||
node->vertex_count = save->vert_count;
|
||||
node->wrap_count = save->copied.nr;
|
||||
|
|
@ -586,7 +585,7 @@ compile_vertex_list(struct gl_context *ctx)
|
|||
update_vao(ctx, vpm, &save->VAO[vpm],
|
||||
node->vertex_store->bufferobj, buffer_offset,
|
||||
node->vertex_size*sizeof(GLfloat), node->enabled,
|
||||
node->attrsz, node->attrtype, node->offsets);
|
||||
node->attrsz, node->attrtype, offsets);
|
||||
/* Reference the vao in the dlist */
|
||||
node->VAO[vpm] = NULL;
|
||||
_mesa_reference_vao(ctx, &node->VAO[vpm], save->VAO[vpm]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue