[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