[Mesa-dev] [PATCH 2/8] mesa: rename gl_vertex_attrib_array::VertexBinding
Brian Paul
brianp at vmware.com
Wed Oct 12 15:28:01 UTC 2016
On 10/12/2016 01:43 AM, Mathias Fröhlich wrote:
> On Tuesday, 11 October 2016 20:10:27 CEST Brian Paul wrote:
>> Rename to gl_vertex_attrib_array::BufferBindingIndex because this field
>> is an index into the array of buffer binding points. This makes some
>> code a little easier to follow since there's also a "VertexBinding" field
>> in gl_vertex_array_object.
>
> What about BindingIndex instead?
> Either way is ok with me, but may be this helps not to get too long lines
> including the benefits you are aiming for?
In this case, I think I prefer the longer, more descriptive name.
I'm also tempted to rename gl_vertex_array_object::VertexBinding[] to
BufferBinding[]. Maybe later.
Thanks for reviewing.
-Brian
>
> Mathias
>
>
>> ---
>> src/mesa/main/api_arrayelt.c | 20 ++++++++++----------
>> src/mesa/main/arrayobj.c | 8 ++++----
>> src/mesa/main/mtypes.h | 2 +-
>> src/mesa/main/varray.c | 16 ++++++++--------
>> src/mesa/vbo/vbo_exec_array.c | 6 +++---
>> 5 files changed, 26 insertions(+), 26 deletions(-)
>>
>> diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
>> index 15fbb8c..cc7dee3 100644
>> --- a/src/mesa/main/api_arrayelt.c
>> +++ b/src/mesa/main/api_arrayelt.c
>> @@ -1566,7 +1566,7 @@ _ae_update_state(struct gl_context *ctx)
>> /* conventional vertex arrays */
>> if (vao->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) {
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_COLOR_INDEX];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> aa->offset = IndexFuncs[TYPE_IDX(aa->array->Type)];
>> check_vbo(actx, aa->binding->BufferObj);
>> aa++;
>> @@ -1574,7 +1574,7 @@ _ae_update_state(struct gl_context *ctx)
>>
>> if (vao->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) {
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_EDGEFLAG];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> aa->offset = _gloffset_EdgeFlagv;
>> check_vbo(actx, aa->binding->BufferObj);
>> aa++;
>> @@ -1582,7 +1582,7 @@ _ae_update_state(struct gl_context *ctx)
>>
>> if (vao->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) {
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_NORMAL];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> aa->offset = NormalFuncs[TYPE_IDX(aa->array->Type)];
>> check_vbo(actx, aa->binding->BufferObj);
>> aa++;
>> @@ -1590,7 +1590,7 @@ _ae_update_state(struct gl_context *ctx)
>>
>> if (vao->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) {
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_COLOR0];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> aa->offset = ColorFuncs[aa->array->Size-3][TYPE_IDX(aa->array-
>> Type)];
>> check_vbo(actx, aa->binding->BufferObj);
>> aa++;
>> @@ -1598,7 +1598,7 @@ _ae_update_state(struct gl_context *ctx)
>>
>> if (vao->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) {
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_COLOR1];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> aa->offset = SecondaryColorFuncs[TYPE_IDX(aa->array->Type)];
>> check_vbo(actx, aa->binding->BufferObj);
>> aa++;
>> @@ -1606,7 +1606,7 @@ _ae_update_state(struct gl_context *ctx)
>>
>> if (vao->VertexAttrib[VERT_ATTRIB_FOG].Enabled) {
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_FOG];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> aa->offset = FogCoordFuncs[TYPE_IDX(aa->array->Type)];
>> check_vbo(actx, aa->binding->BufferObj);
>> aa++;
>> @@ -1620,7 +1620,7 @@ _ae_update_state(struct gl_context *ctx)
>> * If we ever remove GL_NV_vertex_program this will have to
> change.
>> */
>> at->array = attribArray;
>> - at->binding = &vao->VertexBinding[attribArray->VertexBinding];
>> + at->binding = &vao->VertexBinding[attribArray-
>> BufferBindingIndex];
>> assert(!at->array->Normalized);
>> at->func = AttribFuncsNV[at->array->Normalized]
>> [at->array->Size-1]
>> @@ -1638,7 +1638,7 @@ _ae_update_state(struct gl_context *ctx)
>> if (attribArray->Enabled) {
>> GLint intOrNorm;
>> at->array = attribArray;
>> - at->binding = &vao->VertexBinding[attribArray->VertexBinding];
>> + at->binding = &vao->VertexBinding[attribArray-
>> BufferBindingIndex];
>> /* Note: we can't grab the _glapi_Dispatch->VertexAttrib1fvNV
>> * function pointer here (for float arrays) since the pointer may
>> * change from one execution of _ae_ArrayElement() to
>> @@ -1669,7 +1669,7 @@ _ae_update_state(struct gl_context *ctx)
>> * issued as the last (provoking) attribute).
>> */
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_GENERIC0];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> assert(aa->array->Size >= 2); /* XXX fix someday? */
>> aa->offset = VertexFuncs[aa->array->Size-2][TYPE_IDX(aa->array-
>> Type)];
>> check_vbo(actx, aa->binding->BufferObj);
>> @@ -1677,7 +1677,7 @@ _ae_update_state(struct gl_context *ctx)
>> }
>> else if (vao->VertexAttrib[VERT_ATTRIB_POS].Enabled) {
>> aa->array = &vao->VertexAttrib[VERT_ATTRIB_POS];
>> - aa->binding = &vao->VertexBinding[aa->array->VertexBinding];
>> + aa->binding = &vao->VertexBinding[aa->array->BufferBindingIndex];
>> aa->offset = VertexFuncs[aa->array->Size-2][TYPE_IDX(aa->array-
>> Type)];
>> check_vbo(actx, aa->binding->BufferObj);
>> aa++;
>> diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
>> index fe11686..8258964 100644
>> --- a/src/mesa/main/arrayobj.c
>> +++ b/src/mesa/main/arrayobj.c
>> @@ -249,7 +249,7 @@ init_array(struct gl_context *ctx,
>> array->Integer = GL_FALSE;
>> array->Doubles = GL_FALSE;
>> array->_ElementSize = size * _mesa_sizeof_type(type);
>> - array->VertexBinding = index;
>> + array->BufferBindingIndex = index;
>>
>> binding->Offset = 0;
>> binding->Stride = array->_ElementSize;
>> @@ -357,7 +357,7 @@ _mesa_update_vao_client_arrays(struct gl_context *ctx,
>> struct gl_vertex_buffer_binding *buffer_binding;
>>
>> attrib_array = &vao->VertexAttrib[attrib];
>> - buffer_binding = &vao->VertexBinding[attrib_array->VertexBinding];
>> + buffer_binding = &vao->VertexBinding[attrib_array-
>> BufferBindingIndex];
>> client_array = &vao->_VertexAttrib[attrib];
>>
>> _mesa_update_client_array(ctx, client_array, attrib_array,
>> @@ -380,7 +380,7 @@ _mesa_all_varyings_in_vbos(const struct
> gl_vertex_array_object *vao)
>> const struct gl_vertex_attrib_array *attrib_array =
>> &vao->VertexAttrib[i];
>> const struct gl_vertex_buffer_binding *buffer_binding =
>> - &vao->VertexBinding[attrib_array->VertexBinding];
>> + &vao->VertexBinding[attrib_array->BufferBindingIndex];
>>
>> /* Only enabled arrays shall appear in the _Enabled bitmask */
>> assert(attrib_array->Enabled);
>> @@ -411,7 +411,7 @@ _mesa_all_buffers_are_unmapped(const struct
> gl_vertex_array_object *vao)
>> const struct gl_vertex_attrib_array *attrib_array =
>> &vao->VertexAttrib[i];
>> const struct gl_vertex_buffer_binding *buffer_binding =
>> - &vao->VertexBinding[attrib_array->VertexBinding];
>> + &vao->VertexBinding[attrib_array->BufferBindingIndex];
>>
>> /* Only enabled arrays shall appear in the _Enabled bitmask */
>> assert(attrib_array->Enabled);
>> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
>> index 61d6bf1..a639fd2 100644
>> --- a/src/mesa/main/mtypes.h
>> +++ b/src/mesa/main/mtypes.h
>> @@ -1376,7 +1376,7 @@ struct gl_vertex_attrib_array
>> GLboolean Integer; /**< Fixed-point values are not converted to
> floats */
>> GLboolean Doubles; /**< double precision values are not converted
> to floats */
>> GLuint _ElementSize; /**< Size of each element in bytes */
>> - GLuint VertexBinding; /**< Vertex buffer binding */
>> + GLuint BufferBindingIndex; /**< Vertex buffer binding */
>> };
>>
>>
>> diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
>> index 027ae7c..a2f957a 100644
>> --- a/src/mesa/main/varray.c
>> +++ b/src/mesa/main/varray.c
>> @@ -140,15 +140,15 @@ vertex_attrib_binding(struct gl_context *ctx,
>> else
>> vao->VertexAttribBufferMask |= VERT_BIT(attribIndex);
>>
>> - if (array->VertexBinding != bindingIndex) {
>> + if (array->BufferBindingIndex != bindingIndex) {
>> const GLbitfield64 array_bit = VERT_BIT(attribIndex);
>>
>> FLUSH_VERTICES(ctx, _NEW_ARRAY);
>>
>> - vao->VertexBinding[array->VertexBinding]._BoundArrays &= ~array_bit;
>> + vao->VertexBinding[array->BufferBindingIndex]._BoundArrays &=
> ~array_bit;
>> vao->VertexBinding[bindingIndex]._BoundArrays |= array_bit;
>>
>> - array->VertexBinding = bindingIndex;
>> + array->BufferBindingIndex = bindingIndex;
>>
>> vao->NewArrays |= array_bit;
>> }
>> @@ -928,7 +928,7 @@ get_vertex_array_attrib(struct gl_context *ctx,
>> case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB:
>> return array->Normalized;
>> case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB:
>> - return vao->VertexBinding[array->VertexBinding].BufferObj->Name;
>> + return vao->VertexBinding[array->BufferBindingIndex].BufferObj->Name;
>> case GL_VERTEX_ATTRIB_ARRAY_INTEGER:
>> if ((_mesa_is_desktop_gl(ctx)
>> && (ctx->Version >= 30 || ctx->Extensions.EXT_gpu_shader4))
>> @@ -944,12 +944,12 @@ get_vertex_array_attrib(struct gl_context *ctx,
>> case GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB:
>> if ((_mesa_is_desktop_gl(ctx) && ctx-
>> Extensions.ARB_instanced_arrays)
>> || _mesa_is_gles3(ctx)) {
>> - return vao->VertexBinding[array->VertexBinding].InstanceDivisor;
>> + return vao->VertexBinding[array-
>> BufferBindingIndex].InstanceDivisor;
>> }
>> goto error;
>> case GL_VERTEX_ATTRIB_BINDING:
>> if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles31(ctx)) {
>> - return array->VertexBinding - VERT_ATTRIB_GENERIC0;
>> + return array->BufferBindingIndex - VERT_ATTRIB_GENERIC0;
>> }
>> goto error;
>> case GL_VERTEX_ATTRIB_RELATIVE_OFFSET:
>> @@ -2333,7 +2333,7 @@ _mesa_copy_vertex_attrib_array(struct gl_context *ctx,
>> dst->Size = src->Size;
>> dst->Type = src->Type;
>> dst->Format = src->Format;
>> - dst->VertexBinding = src->VertexBinding;
>> + dst->BufferBindingIndex = src->BufferBindingIndex;
>> dst->RelativeOffset = src->RelativeOffset;
>> dst->Format = src->Format;
>> dst->Integer = src->Integer;
>> @@ -2374,7 +2374,7 @@ _mesa_print_arrays(struct gl_context *ctx)
>> continue;
>>
>> const struct gl_vertex_buffer_binding *binding =
>> - &vao->VertexBinding[array->VertexBinding];
>> + &vao->VertexBinding[array->BufferBindingIndex];
>> const struct gl_buffer_object *bo = binding->BufferObj;
>>
>> fprintf(stderr, " %s: Ptr=%p, Type=%s, Size=%d, ElemSize=%u, "
>> diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c
>> index 46543f8..b5ed210 100644
>> --- a/src/mesa/vbo/vbo_exec_array.c
>> +++ b/src/mesa/vbo/vbo_exec_array.c
>> @@ -54,7 +54,7 @@ check_array_data(struct gl_context *ctx, struct
> gl_vertex_array_object *vao,
>> const struct gl_vertex_attrib_array *array = &vao->VertexAttrib[attrib];
>> if (array->Enabled) {
>> const struct gl_vertex_buffer_binding *binding =
>> - &vao->VertexBinding[array->VertexBinding];
>> + &vao->VertexBinding[array->BufferBindingIndex];
>> struct gl_buffer_object *bo = binding->BufferObj;
>> const void *data = array->Ptr;
>> if (_mesa_is_bufferobj(bo)) {
>> @@ -106,7 +106,7 @@ unmap_array_buffer(struct gl_context *ctx, struct
> gl_vertex_array_object *vao,
>> const struct gl_vertex_attrib_array *array = &vao->VertexAttrib[attrib];
>> if (array->Enabled) {
>> const struct gl_vertex_buffer_binding *binding =
>> - &vao->VertexBinding[array->VertexBinding];
>> + &vao->VertexBinding[array->BufferBindingIndex];
>> struct gl_buffer_object *bo = binding->BufferObj;
>> if (_mesa_is_bufferobj(bo) && _mesa_bufferobj_mapped(bo,
> MAP_INTERNAL)) {
>> ctx->Driver.UnmapBuffer(ctx, bo, MAP_INTERNAL);
>> @@ -201,7 +201,7 @@ print_draw_arrays(struct gl_context *ctx,
>> continue;
>>
>> const struct gl_vertex_buffer_binding *binding =
>> - &vao->VertexBinding[array->VertexBinding];
>> + &vao->VertexBinding[array->BufferBindingIndex];
>> struct gl_buffer_object *bufObj = binding->BufferObj;
>>
>> printf("attr %s: size %d stride %d enabled %d "
>>
>
>
More information about the mesa-dev
mailing list