[Mesa-dev] [PATCH 00/11] Implement GL_ARB_vertex_attrib_binding
Ian Romanick
idr at freedesktop.org
Mon Nov 4 13:23:29 PST 2013
Patches 1, 3, 4, 6, 7, 8, and 10 are
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
I sent trivial comments for patch 2.
I sent comments for patches 5 and 9.
On 10/28/2013 03:33 PM, Fredrik Höglund wrote:
> This extension decouples the vertex attributes from the vertex buffer
> bindings, making it possible to change buffers without having to
> respecify the formats. The mapping between attributes and vertex
> buffer bindings also becomes configurable.
>
> This series adds new state structs and changes the gl*Pointer()
> functions to update the new states as described in the specification.
> To avoid making invasive changes in the vbo module I decided to keep
> the gl_client_arrays for now. Those are now derived from the
> gl_vertex_attrib_array and gl_vertex_buffer_binding states.
> In theory this should also make it possible to incrementally port
> other parts of Mesa to use the new states directly.
>
> Note that this adds a glVertexAttribLFormat() entry point.
> Mesa doesn't support double-precision attributes (yet), but the
> GL specification says that the results of using a glVertex*L*()
> function to set a non-double precision attribute are undefined,
> so I don't think this is a problem.
>
> The extension is written against the GL 4.2 specification, and
> based on the tables it refers to one can infer that it requires
> ARB_vertex_array_bgra, ARB_vertex_type_2_10_10_10_rev and
> ARB_ES2_compatibility. I think the dependencies section should
> have language that removes references to vertex formats added by
> those extensions when they're not supported, so in this series
> I have enabled the extension unconditionally.
>
> There are no regressions with piglit quick.tests.
>
> Fredrik Höglund (11):
> mesa: Restore gl_array_object::NewArray
> mesa: Split out the format code from update_array()
> mesa: Rename gl_array_object::VertexAttrib to _VertexAttrib
> glapi: Add infrastructure for ARB_vertex_attrib_binding
> mesa: Add ARB_vertex_attrib_binding
> mesa: Don't use derived vertex state in the FF vertex program
> mesa: Don't use derived vertex state in Get* queries
> mesa: Don't use derived vertex state in check_valid_to_render()
> mesa: Add Get* support for ARB_vertex_attrib_binding
> mesa: Handle zero-stride arrays in _mesa_update_array_max_element()
> mesa: Optimize rebinding the same VBO
>
> src/mapi/glapi/gen/ARB_vertex_attrib_binding.xml | 58 ++
> src/mapi/glapi/gen/Makefile.am | 1 +
> src/mapi/glapi/gen/gl_API.xml | 6 +-
> src/mesa/main/api_arrayelt.c | 43 +-
> src/mesa/main/arrayobj.c | 73 ++-
> src/mesa/main/arrayobj.h | 5 +
> src/mesa/main/attrib.c | 7 +-
> src/mesa/main/bufferobj.c | 4 +-
> src/mesa/main/context.c | 4 +
> src/mesa/main/enable.c | 2 +
> src/mesa/main/extensions.c | 1 +
> src/mesa/main/get.c | 30 +-
> src/mesa/main/get_hash_params.py | 17 +-
> src/mesa/main/mtypes.h | 53 +-
> src/mesa/main/state.c | 4 +
> src/mesa/main/tests/dispatch_sanity.cpp | 12 +-
> src/mesa/main/varray.c | 689 ++++++++++++++++++---
> src/mesa/main/varray.h | 77 ++-
> src/mesa/vbo/vbo_exec_array.c | 12 +-
> 19 files changed, 946 insertions(+), 152 deletions(-)
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list