[Mesa-dev] [PATCH v3 0/7] Delay exec table initialization until version is computed
Jordan Justen
jljusten at gmail.com
Thu Dec 6 17:06:45 PST 2012
I tested this series on i965 and llvmpipe. Does anyone want to test
this branch on other hardware since it modifies the initialization
path for all drivers?
git://people.freedesktop.org/~jljusten/mesa version-gles3-dispatch
(This branch is the series rebased on the current master.)
Thanks,
-Jordan
On Mon, Nov 19, 2012 at 5:01 PM, Jordan Justen
<jordan.l.justen at intel.com> wrote:
> GLES3 support requires that the version be computed before the
> exec table is initialized.
>
> For main exec table initialization (api_exec.c):
> * Rename _mesa_create_exec_table to _mesa_initialize_exec_table
> * _mesa_initialize_context allocates the exec table, and sets
> entries to nop, but leaves functions otherwise uninitialized
> * Drivers must now call _mesa_compute_version and then
> _mesa_initialize_exec_table
>
> Similarly for VBO:
> * _vbo_CreateContext no longer initializes VBO vtxfmt functions
> * _mesa_initialize_vbo_vtxfmt was added, and drivers must now
> call this function after computing the version
>
> v3:
> * VBO vtxfmt function programming must also be delayed until
> the version in computed.
> * Combined all driver changes into a single patch
>
> v2:
> * Rather than move version computation earlier into
> _mesa_initialize_context, now _mesa_initialize_context will
> no longer initialize the exec dispatch table.
> * All drivers should now be modified, whereas in v1, only
> i965 and swrast were modified.
>
> v1:
> * Implement support for swrast & i965 drivers
>
> Jordan Justen (7):
> mesa: separate exec allocation from initialization
> vbo: add _mesa_initialize_vbo_vtxfmt
> drivers: compute version and then initialize exec table
> mesa dispatch_sanity: call new functions to initialize exec table
> mesa: don't initialize exec dispatch tables in
> _mesa_initialize_context
> mesa: don't initialize VBO vtxfmt in _vbo_CreateContext
> mesa: assert if driver did not compute the version
>
> src/mapi/glapi/gen/gl_genexec.py | 21 +++++++++------------
> src/mesa/drivers/dri/i915/i830_context.c | 8 ++++++++
> src/mesa/drivers/dri/i915/i915_context.c | 8 ++++++++
> src/mesa/drivers/dri/i965/brw_context.c | 8 ++++++++
> src/mesa/drivers/dri/nouveau/nouveau_context.c | 6 ++++++
> src/mesa/drivers/dri/r200/r200_context.c | 6 ++++++
> src/mesa/drivers/dri/radeon/radeon_context.c | 6 ++++++
> src/mesa/drivers/dri/swrast/swrast.c | 8 ++++++++
> src/mesa/drivers/osmesa/osmesa.c | 9 +++++++++
> src/mesa/drivers/windows/gdi/wmesa.c | 7 +++++++
> src/mesa/drivers/x11/xm_api.c | 7 +++++++
> src/mesa/main/api_exec.h | 4 ++--
> src/mesa/main/context.c | 7 +++----
> src/mesa/main/tests/dispatch_sanity.cpp | 7 ++++++-
> src/mesa/main/vtxfmt.c | 20 ++++++++++++++++++++
> src/mesa/main/vtxfmt.h | 1 +
> src/mesa/state_tracker/st_context.c | 8 ++++++++
> src/mesa/state_tracker/st_manager.c | 2 --
> src/mesa/vbo/vbo_exec.c | 4 ----
> src/mesa/vbo/vbo_exec_api.c | 4 ----
> src/mesa/vbo/vbo_save_api.c | 1 -
> 21 files changed, 122 insertions(+), 30 deletions(-)
>
> --
> 1.7.10.4
>
> _______________________________________________
> 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