From 6a8c1d504339f9c011422aef3dd06b407502ece5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 12 Dec 2022 00:35:31 -0500 Subject: [PATCH] mesa: move user-specified vertex format fields into gl_vertex_format_user to be used in the next commit Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/mesa/main/api_arrayelt.c | 14 +++++------ src/mesa/main/draw.c | 12 +++++----- src/mesa/main/get.c | 8 +++---- src/mesa/main/get_hash_params.py | 16 ++++++------- src/mesa/main/mtypes.h | 18 +++++++++----- src/mesa/main/varray.c | 52 ++++++++++++++++++++-------------------- src/mesa/vbo/vbo_exec_api.c | 4 ++-- src/mesa/vbo/vbo_save_api.c | 12 +++++----- src/mesa/vbo/vbo_save_draw.c | 8 +++---- src/mesa/vbo/vbo_save_loopback.c | 2 +- 10 files changed, 76 insertions(+), 70 deletions(-) diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c index bdc741c..1de44c1 100644 --- a/src/mesa/main/api_arrayelt.c +++ b/src/mesa/main/api_arrayelt.c @@ -66,11 +66,11 @@ TYPE_IDX(GLenum t) static inline int vertex_format_to_index(const struct gl_vertex_format *vformat) { - if (vformat->Doubles) + if (vformat->User.Doubles) return 3; - else if (vformat->Integer) + else if (vformat->User.Integer) return 2; - else if (vformat->Normalized) + else if (vformat->User.Normalized) return 1; else return 0; @@ -1395,8 +1395,8 @@ static const attrib_func AttribFuncsARB[4][4][NUM_TYPES] = { static inline attrib_func func_nv(const struct gl_vertex_format *vformat) { - return AttribFuncsNV[vformat->Normalized][vformat->Size-1] - [TYPE_IDX(vformat->Type)]; + return AttribFuncsNV[vformat->User.Normalized][vformat->User.Size-1] + [TYPE_IDX(vformat->User.Type)]; } @@ -1406,8 +1406,8 @@ func_nv(const struct gl_vertex_format *vformat) static inline attrib_func func_arb(const struct gl_vertex_format *vformat) { - return AttribFuncsARB[vertex_format_to_index(vformat)][vformat->Size-1] - [TYPE_IDX(vformat->Type)]; + return AttribFuncsARB[vertex_format_to_index(vformat)][vformat->User.Size-1] + [TYPE_IDX(vformat->User.Type)]; } diff --git a/src/mesa/main/draw.c b/src/mesa/main/draw.c index 980541c..0fbf306 100644 --- a/src/mesa/main/draw.c +++ b/src/mesa/main/draw.c @@ -990,18 +990,18 @@ check_array_data(struct gl_context *ctx, struct gl_vertex_array_object *vao, data = ADD_POINTERS(_mesa_vertex_attrib_address(array, binding), bo->Mappings[MAP_INTERNAL].Pointer); } - switch (array->Format.Type) { + switch (array->Format.User.Type) { case GL_FLOAT: { GLfloat *f = (GLfloat *) ((GLubyte *) data + binding->Stride * j); GLint k; - for (k = 0; k < array->Format.Size; k++) { + for (k = 0; k < array->Format.User.Size; k++) { if (util_is_inf_or_nan(f[k]) || f[k] >= 1.0e20F || f[k] <= -1.0e10F) { printf("Bad array data:\n"); printf(" Element[%u].%u = %f\n", j, k, f[k]); printf(" Array %u at %p\n", attrib, (void *) array); printf(" Type 0x%x, Size %d, Stride %d\n", - array->Format.Type, array->Format.Size, + array->Format.User.Type, array->Format.User.Size, binding->Stride); printf(" Address/offset %p in Buffer Object %u\n", array->Ptr, bo ? bo->Name : 0); @@ -1115,7 +1115,7 @@ print_draw_arrays(struct gl_context *ctx, printf("attr %s: size %d stride %d " "ptr %p Bufobj %u\n", gl_vert_attrib_name((gl_vert_attrib) i), - array->Format.Size, binding->Stride, + array->Format.User.Size, binding->Stride, array->Ptr, bufObj ? bufObj->Name : 0); if (bufObj) { @@ -1124,7 +1124,7 @@ print_draw_arrays(struct gl_context *ctx, _mesa_vertex_attrib_address(array, binding); unsigned multiplier; - switch (array->Format.Type) { + switch (array->Format.User.Type) { case GL_DOUBLE: case GL_INT64_ARB: case GL_UNSIGNED_INT64_ARB: @@ -1138,7 +1138,7 @@ print_draw_arrays(struct gl_context *ctx, int *k = (int *) f; int i = 0; int n = (count - 1) * (binding->Stride / (4 * multiplier)) - + array->Format.Size; + + array->Format.User.Size; if (n > 32) n = 32; printf(" Data at offset %d:\n", offset); diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 1102f55..49c4e82 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -825,12 +825,12 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu case GL_TEXTURE_COORD_ARRAY_SIZE: array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)]; - v->value_int = array->Format.Size; + v->value_int = array->Format.User.Size; break; case GL_VERTEX_ARRAY_SIZE: array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_POS]; - v->value_int = array->Format.Size; + v->value_int = array->Format.User.Size; break; case GL_ACTIVE_TEXTURE_ARB: @@ -1053,11 +1053,11 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu /* ARB_vertex_array_bgra */ case GL_COLOR_ARRAY_SIZE: array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_COLOR0]; - v->value_int = array->Format.Bgra ? GL_BGRA : array->Format.Size; + v->value_int = array->Format.User.Bgra ? GL_BGRA : array->Format.User.Size; break; case GL_SECONDARY_COLOR_ARRAY_SIZE: array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_COLOR1]; - v->value_int = array->Format.Bgra ? GL_BGRA : array->Format.Size; + v->value_int = array->Format.User.Bgra ? GL_BGRA : array->Format.User.Size; break; /* ARB_copy_buffer */ diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py index 089cfaa..0df6567 100644 --- a/src/mesa/main/get_hash_params.py +++ b/src/mesa/main/get_hash_params.py @@ -217,18 +217,18 @@ descriptor=[ [ "TEXTURE_STACK_DEPTH", "LOC_CUSTOM, TYPE_INT, 0, extra_valid_texture_unit" ], [ "VERTEX_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], [ "VERTEX_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ], - [ "VERTEX_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_POS].Format.Type), NO_EXTRA" ], + [ "VERTEX_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_POS].Format.User.Type), NO_EXTRA" ], [ "VERTEX_ARRAY_STRIDE", "ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_POS].Stride), NO_EXTRA" ], [ "NORMAL_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], - [ "NORMAL_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_NORMAL].Format.Type), NO_EXTRA" ], + [ "NORMAL_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_NORMAL].Format.User.Type), NO_EXTRA" ], [ "NORMAL_ARRAY_STRIDE", "ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_NORMAL].Stride), NO_EXTRA" ], [ "COLOR_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], [ "COLOR_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ], - [ "COLOR_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR0].Format.Type), NO_EXTRA" ], + [ "COLOR_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR0].Format.User.Type), NO_EXTRA" ], [ "COLOR_ARRAY_STRIDE", "ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_COLOR0].Stride), NO_EXTRA" ], [ "TEXTURE_COORD_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], [ "TEXTURE_COORD_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ], - [ "TEXTURE_COORD_ARRAY_TYPE", "LOC_CUSTOM, TYPE_ENUM16, offsetof(struct gl_array_attributes, Format.Type), NO_EXTRA" ], + [ "TEXTURE_COORD_ARRAY_TYPE", "LOC_CUSTOM, TYPE_ENUM16, offsetof(struct gl_array_attributes, Format.User.Type), NO_EXTRA" ], [ "TEXTURE_COORD_ARRAY_STRIDE", "LOC_CUSTOM, TYPE_SHORT, offsetof(struct gl_array_attributes, Stride), NO_EXTRA" ], # GL_ARB_multitexture @@ -258,7 +258,7 @@ descriptor=[ { "apis": ["GLES"], "params": [ # OES_point_size_array [ "POINT_SIZE_ARRAY_OES", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], - [ "POINT_SIZE_ARRAY_TYPE_OES", "ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Format.Type, TYPE_ENUM16), NO_EXTRA" ], + [ "POINT_SIZE_ARRAY_TYPE_OES", "ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Format.User.Type, TYPE_ENUM16), NO_EXTRA" ], [ "POINT_SIZE_ARRAY_STRIDE_OES", "ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Stride, TYPE_SHORT), NO_EXTRA" ], [ "POINT_SIZE_ARRAY_BUFFER_BINDING_OES", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ], ]}, @@ -823,7 +823,7 @@ descriptor=[ [ "NORMAL_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ], [ "COLOR_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ], [ "INDEX_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], - [ "INDEX_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Format.Type), NO_EXTRA" ], + [ "INDEX_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Format.User.Type), NO_EXTRA" ], [ "INDEX_ARRAY_STRIDE", "ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Stride), NO_EXTRA" ], [ "INDEX_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ], [ "TEXTURE_COORD_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ], @@ -857,14 +857,14 @@ descriptor=[ [ "COLOR_SUM", "CONTEXT_BOOL(Fog.ColorSumEnabled), NO_EXTRA" ], [ "CURRENT_SECONDARY_COLOR", "CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR1][0], TYPE_FLOATN_4), extra_flush_current" ], [ "SECONDARY_COLOR_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], - [ "SECONDARY_COLOR_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR1].Format.Type), NO_EXTRA" ], + [ "SECONDARY_COLOR_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR1].Format.User.Type), NO_EXTRA" ], [ "SECONDARY_COLOR_ARRAY_STRIDE", "ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_COLOR1].Stride), NO_EXTRA" ], [ "SECONDARY_COLOR_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ], # GL_EXT_fog_coord [ "CURRENT_FOG_COORDINATE", "CONTEXT_FLOAT(Current.Attrib[VERT_ATTRIB_FOG][0]), extra_flush_current" ], [ "FOG_COORDINATE_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ], - [ "FOG_COORDINATE_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_FOG].Format.Type), NO_EXTRA" ], + [ "FOG_COORDINATE_ARRAY_TYPE", "ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_FOG].Format.User.Type), NO_EXTRA" ], [ "FOG_COORDINATE_ARRAY_STRIDE", "ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_FOG].Stride), NO_EXTRA" ], [ "FOG_COORDINATE_SOURCE", "CONTEXT_ENUM16(Fog.FogCoordinateSource), NO_EXTRA" ], diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index a1fc78a..bfa1241 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -319,18 +319,24 @@ struct gl_colorbuffer_attrib GLboolean sRGBEnabled; /**< Framebuffer sRGB blending/updating requested */ }; +union gl_vertex_format_user { + struct { + GLenum16 Type; /**< datatype: GL_FLOAT, GL_INT, etc */ + bool Bgra; /**< true if GL_BGRA, else GL_RGBA */ + GLubyte Size:5; /**< components per element (1,2,3,4) */ + GLubyte Normalized:1; /**< GL_ARB_vertex_program */ + GLubyte Integer:1; /**< Integer-valued? */ + GLubyte Doubles:1; /**< double values are not converted to floats */ + }; + uint32_t All; +}; /** * Vertex format to describe a vertex element. */ struct gl_vertex_format { - GLenum16 Type; /**< datatype: GL_FLOAT, GL_INT, etc */ - bool Bgra; /**< true if GL_BGRA, else GL_RGBA */ - GLubyte Size:5; /**< components per element (1,2,3,4) */ - GLubyte Normalized:1; /**< GL_ARB_vertex_program */ - GLubyte Integer:1; /**< Integer-valued? */ - GLubyte Doubles:1; /**< double values are not converted to floats */ + union gl_vertex_format_user User; enum pipe_format _PipeFormat:16; /**< pipe_format for Gallium */ GLushort _ElementSize; /**< Size of each element in bytes */ }; diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index f0933a6..45f27b1 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -651,12 +651,12 @@ _mesa_set_vertex_format(struct gl_vertex_format *vertex_format, GLboolean doubles) { assert(size <= 4); - vertex_format->Type = type; - vertex_format->Bgra = format == GL_BGRA; - vertex_format->Size = size; - vertex_format->Normalized = normalized; - vertex_format->Integer = integer; - vertex_format->Doubles = doubles; + vertex_format->User.Type = type; + vertex_format->User.Bgra = format == GL_BGRA; + vertex_format->User.Size = size; + vertex_format->User.Normalized = normalized; + vertex_format->User.Integer = integer; + vertex_format->User.Doubles = doubles; vertex_format->_ElementSize = _mesa_bytes_per_vertex_attrib(size, type); assert(vertex_format->_ElementSize <= 4*sizeof(double)); vertex_format->_PipeFormat = @@ -2300,13 +2300,13 @@ get_vertex_array_attrib(struct gl_context *ctx, case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB: return !!(vao->Enabled & VERT_BIT_GENERIC(index)); case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB: - return array->Format.Bgra ? GL_BGRA : array->Format.Size; + return array->Format.User.Bgra ? GL_BGRA : array->Format.User.Size; case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB: return array->Stride; case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB: - return array->Format.Type; + return array->Format.User.Type; case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB: - return array->Format.Normalized; + return array->Format.User.Normalized; case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB: buf = vao->BufferBinding[array->BufferBindingIndex].BufferObj; return buf ? buf->Name : 0; @@ -2314,12 +2314,12 @@ get_vertex_array_attrib(struct gl_context *ctx, if ((_mesa_is_desktop_gl(ctx) && (ctx->Version >= 30 || ctx->Extensions.EXT_gpu_shader4)) || _mesa_is_gles3(ctx)) { - return array->Format.Integer; + return array->Format.User.Integer; } goto error; case GL_VERTEX_ATTRIB_ARRAY_LONG: if (_mesa_is_desktop_gl(ctx)) { - return array->Format.Doubles; + return array->Format.User.Doubles; } goto error; case GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB: @@ -4012,8 +4012,8 @@ _mesa_print_arrays(struct gl_context *ctx) fprintf(stderr, " %s: Ptr=%p, Type=%s, Size=%d, ElemSize=%u, " "Stride=%d, Buffer=%u(Size %lu)\n", gl_vert_attrib_name((gl_vert_attrib)i), - array->Ptr, _mesa_enum_to_string(array->Format.Type), - array->Format.Size, + array->Ptr, _mesa_enum_to_string(array->Format.User.Type), + array->Format.User.Size, array->Format._ElementSize, binding->Stride, bo ? bo->Name : 0, (unsigned long)(bo ? bo->Size : 0)); } @@ -4154,10 +4154,10 @@ _mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param) *param = GL_TEXTURE0_ARB + ctx->Array.ActiveTexture; break; case GL_VERTEX_ARRAY_SIZE: - *param = vao->VertexAttrib[VERT_ATTRIB_POS].Format.Size; + *param = vao->VertexAttrib[VERT_ATTRIB_POS].Format.User.Size; break; case GL_VERTEX_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_POS].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_POS].Format.User.Type; break; case GL_VERTEX_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_POS].Stride; @@ -4167,10 +4167,10 @@ _mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param) *param = buf ? buf->Name : 0; break; case GL_COLOR_ARRAY_SIZE: - *param = vao->VertexAttrib[VERT_ATTRIB_COLOR0].Format.Size; + *param = vao->VertexAttrib[VERT_ATTRIB_COLOR0].Format.User.Size; break; case GL_COLOR_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_COLOR0].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_COLOR0].Format.User.Type; break; case GL_COLOR_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_COLOR0].Stride; @@ -4187,7 +4187,7 @@ _mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param) *param = buf ? buf->Name : 0; break; case GL_INDEX_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Format.User.Type; break; case GL_INDEX_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Stride; @@ -4197,7 +4197,7 @@ _mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param) *param = buf ? buf->Name : 0; break; case GL_NORMAL_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_NORMAL].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_NORMAL].Format.User.Type; break; case GL_NORMAL_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_NORMAL].Stride; @@ -4207,10 +4207,10 @@ _mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param) *param = buf ? buf->Name : 0; break; case GL_TEXTURE_COORD_ARRAY_SIZE: - *param = vao->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)].Format.Size; + *param = vao->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)].Format.User.Size; break; case GL_TEXTURE_COORD_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)].Format.User.Type; break; case GL_TEXTURE_COORD_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)].Stride; @@ -4220,7 +4220,7 @@ _mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param) *param = buf ? buf->Name : 0; break; case GL_FOG_COORD_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_FOG].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_FOG].Format.User.Type; break; case GL_FOG_COORD_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_FOG].Stride; @@ -4230,10 +4230,10 @@ _mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param) *param = buf ? buf->Name : 0; break; case GL_SECONDARY_COLOR_ARRAY_SIZE: - *param = vao->VertexAttrib[VERT_ATTRIB_COLOR1].Format.Size; + *param = vao->VertexAttrib[VERT_ATTRIB_COLOR1].Format.User.Size; break; case GL_SECONDARY_COLOR_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_COLOR1].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_COLOR1].Format.User.Type; break; case GL_SECONDARY_COLOR_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_COLOR1].Stride; @@ -4351,10 +4351,10 @@ _mesa_GetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLin *param = !!(vao->Enabled & VERT_BIT_TEX(index)); break; case GL_TEXTURE_COORD_ARRAY_SIZE: - *param = vao->VertexAttrib[VERT_ATTRIB_TEX(index)].Format.Size; + *param = vao->VertexAttrib[VERT_ATTRIB_TEX(index)].Format.User.Size; break; case GL_TEXTURE_COORD_ARRAY_TYPE: - *param = vao->VertexAttrib[VERT_ATTRIB_TEX(index)].Format.Type; + *param = vao->VertexAttrib[VERT_ATTRIB_TEX(index)].Format.User.Type; break; case GL_TEXTURE_COORD_ARRAY_STRIDE: *param = vao->VertexAttrib[VERT_ATTRIB_TEX(index)].Stride; diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index 29a7414..537b423 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -225,8 +225,8 @@ vbo_exec_copy_to_current(struct vbo_exec_context *exec) * directly. */ /* Size here is in components - not bytes */ - if (exec->vtx.attr[i].type != vbo->current[i].Format.Type || - (exec->vtx.attr[i].size >> dmul_shift) != vbo->current[i].Format.Size) { + if (exec->vtx.attr[i].type != vbo->current[i].Format.User.Type || + (exec->vtx.attr[i].size >> dmul_shift) != vbo->current[i].Format.User.Size) { vbo_set_vertex_format(&vbo->current[i].Format, exec->vtx.attr[i].size >> dmul_shift, exec->vtx.attr[i].type); diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index 5947b05..810e444 100644 --- a/src/mesa/vbo/vbo_save_api.c +++ b/src/mesa/vbo/vbo_save_api.c @@ -318,14 +318,14 @@ compare_vao(gl_vertex_processing_mode mode, const struct gl_array_attributes *attrib = &vao->VertexAttrib[attr]; if (attrib->RelativeOffset + vao->BufferBinding[0].Offset != off) return false; - if (attrib->Format.Type != tp) + if (attrib->Format.User.Type != tp) return false; - if (attrib->Format.Size != size[vbo_attr]) + if (attrib->Format.User.Size != size[vbo_attr]) return false; - assert(!attrib->Format.Bgra); - assert(attrib->Format.Normalized == GL_FALSE); - assert(attrib->Format.Integer == vbo_attrtype_to_integer_flag(tp)); - assert(attrib->Format.Doubles == vbo_attrtype_to_double_flag(tp)); + assert(!attrib->Format.User.Bgra); + assert(attrib->Format.User.Normalized == GL_FALSE); + assert(attrib->Format.User.Integer == vbo_attrtype_to_integer_flag(tp)); + assert(attrib->Format.User.Doubles == vbo_attrtype_to_double_flag(tp)); assert(attrib->BufferBindingIndex == 0); } diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c index b5cf711..9bc21be 100644 --- a/src/mesa/vbo/vbo_save_draw.c +++ b/src/mesa/vbo/vbo_save_draw.c @@ -54,8 +54,8 @@ copy_vao(struct gl_context *ctx, const struct gl_vertex_array_object *vao, const struct gl_array_attributes *attrib = &vao->VertexAttrib[i]; unsigned current_index = shift + i; struct gl_array_attributes *currval = &vbo->current[current_index]; - const GLubyte size = attrib->Format.Size; - const GLenum16 type = attrib->Format.Type; + const GLubyte size = attrib->Format.User.Size; + const GLenum16 type = attrib->Format.User.Type; fi_type tmp[8]; int dmul_shift = 0; @@ -85,8 +85,8 @@ copy_vao(struct gl_context *ctx, const struct gl_vertex_array_object *vao, ctx->PopAttribState |= pop_state; } - if (type != currval->Format.Type || - (size >> dmul_shift) != currval->Format.Size) + if (type != currval->Format.User.Type || + (size >> dmul_shift) != currval->Format.User.Size) vbo_set_vertex_format(&currval->Format, size >> dmul_shift, type); *data += size; diff --git a/src/mesa/vbo/vbo_save_loopback.c b/src/mesa/vbo/vbo_save_loopback.c index 4c91588..a1e541e 100644 --- a/src/mesa/vbo/vbo_save_loopback.c +++ b/src/mesa/vbo/vbo_save_loopback.c @@ -139,7 +139,7 @@ append_attr(GLuint *nr, struct loopback_attr la[], int i, int shift, { la[*nr].index = shift + i; la[*nr].offset = vao->VertexAttrib[i].RelativeOffset; - la[*nr].func = vert_attrfunc[vao->VertexAttrib[i].Format.Size - 1]; + la[*nr].func = vert_attrfunc[vao->VertexAttrib[i].Format.User.Size - 1]; (*nr)++; } -- 2.7.4