From: Mathias Fröhlich Date: Sun, 25 Feb 2018 17:01:07 +0000 (+0100) Subject: vbo: Remove vbo_save_vertex_list::attrsz. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6dd3e98c213f8c82a934c49eb369e88f5a648f19;p=mesa.git vbo: Remove vbo_save_vertex_list::attrsz. Is not used anymore on replay, move the last use in display list compilation to the original array in the display list compiler. Reviewed-by: Brian Paul Signed-off-by: Mathias Fröhlich --- diff --git a/src/mesa/vbo/vbo_save.h b/src/mesa/vbo/vbo_save.h index 3ccbfac7e28..cbf73892ee1 100644 --- a/src/mesa/vbo/vbo_save.h +++ b/src/mesa/vbo/vbo_save.h @@ -61,7 +61,6 @@ struct vbo_save_copied_vtx { * compiled using the fallback opcode mechanism provided by dlist.c. */ struct vbo_save_vertex_list { - GLubyte attrsz[VBO_ATTRIB_MAX]; GLuint vertex_size; /**< size in GLfloats */ struct gl_vertex_array_object *VAO[VP_MODE_MAX]; diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index 2263276a18a..e21315120dc 100644 --- a/src/mesa/vbo/vbo_save_api.c +++ b/src/mesa/vbo/vbo_save_api.c @@ -543,8 +543,6 @@ compile_vertex_list(struct gl_context *ctx) /* Duplicate our template, increment refcounts to the storage structs: */ - STATIC_ASSERT(sizeof(node->attrsz) == sizeof(save->attrsz)); - memcpy(node->attrsz, save->attrsz, sizeof(node->attrsz)); node->vertex_size = save->vertex_size; node->buffer_offset = (save->buffer_map - save->vertex_store->buffer_map) * sizeof(GLfloat); @@ -580,7 +578,7 @@ compile_vertex_list(struct gl_context *ctx) update_vao(ctx, vpm, &save->VAO[vpm], save->vertex_store->bufferobj, buffer_offset, node->vertex_size*sizeof(GLfloat), save->enabled, - node->attrsz, save->attrtype, offsets); + save->attrsz, save->attrtype, offsets); /* Reference the vao in the dlist */ node->VAO[vpm] = NULL; _mesa_reference_vao(ctx, &node->VAO[vpm], save->VAO[vpm]); @@ -592,14 +590,14 @@ compile_vertex_list(struct gl_context *ctx) node->current_data = NULL; } else { - GLuint current_size = node->vertex_size - node->attrsz[0]; + GLuint current_size = node->vertex_size - save->attrsz[0]; node->current_data = NULL; if (current_size) { node->current_data = malloc(current_size * sizeof(GLfloat)); if (node->current_data) { const char *buffer = (const char *) save->vertex_store->buffer_map; - unsigned attr_offset = node->attrsz[0] * sizeof(GLfloat); + unsigned attr_offset = save->attrsz[0] * sizeof(GLfloat); unsigned vertex_offset = 0; if (node->vertex_count) @@ -615,7 +613,7 @@ compile_vertex_list(struct gl_context *ctx) } } - assert(node->attrsz[VBO_ATTRIB_POS] != 0 || node->vertex_count == 0); + assert(save->attrsz[VBO_ATTRIB_POS] != 0 || node->vertex_count == 0); if (save->dangling_attr_ref) ctx->ListState.CurrentList->Flags |= DLIST_DANGLING_REFS;