[Mesa-dev] [PATCH 00/18] En route towards Khronos gl.xml
Emil Velikov
emil.l.velikov at gmail.com
Wed Nov 21 12:03:57 UTC 2018
Hi all,
Recently Erik enabled NV_conditional_render for GLES, which highlighted
an existing issue in our generator scripts.
Namely: today we have a single static_data list for all of GL/ES1/ES2.
Thus as we expose an extention (as above) we en up statically exporting
the functions, if they're part of the GL ABI.
Having a look shows that we have:
- a number of hacks in the ABI-check scripts
- another hack in the ES2 generator script
Since, our python scripts are based off the custom XML files, I've
borrowed a couple of straight-forward script from GLVND.
A tweaks were needed, some of which I'll send back upstream.
With those in place, I've manually verified that the generated files do
not differ in any [functionally] meaningful way and gave the series a
quick piglit run.
Note: the "HACK" patches are sent for to make verification easier.
We'll have to drop 02/18, although I'm ambivalent wrt 05/18.
As a finale, I've removed the obvious ES* specific code.
If time permits, I'm hoping to continue until we're using only the
upstream XML file. In particular the following bits need work:
- glapi and shared-glapi
- indirect gl/glx
- glGet and friends; needs extra data - upstream to Khronos
- marshalling/glthread code; needs extra data - likely to stay local
- enum to string
- others?
Any testing and review is greatly appreciated.
Thanks
Emil
Cc: Ian Romanick <ian.d.romanick at intel.com>
Emil Velikov (18):
mapi: sort static entrypoints numerically
HACK: glapi: print _glapi_table offsets to a file
mapi: add all _glapi_table entrypoints to static_data.py
mapi/new: import mapi scripts from glvnd
HACK: mapi/new: sort by slot number
mapi/new: use the static_data offsets in the new generator
mapi/new: reinstate _NO_HIDDEN suffixes in the new generator
mapi/new: don't print info we don't need for ES1/ES2
mapi/new: fixup the GLDEBUGPROCKHR typedef to the non KHR one
mapi/new: remove duplicate GLvoid/void substitution
autotools: wire the new generator for es1 and es2
meson: wire the new generator for es1 and es2
scons: wire the new generator for es1 and es2
mapi/es*api: remove GL_OES_EGL_image entrypoints
mapi/es*api: remove GL_EXT_multi_draw_arrays entrypoints
mapi/es2api: remove no longer present entrypoints
mapi: remove old, unused ES* generator code
mapi: remove machinery handling CSV files
src/mapi/Makefile.am | 25 +-
src/mapi/es1api/ABI-check | 10 +-
src/mapi/es1api/meson.build | 6 +-
src/mapi/es2api/ABI-check | 14 +-
src/mapi/es2api/meson.build | 6 +-
src/mapi/glapi/gen/gl_XML.py | 56 +-
src/mapi/glapi/gen/gl_table.py | 10 +-
src/mapi/glapi/gen/meson.build | 7 +
src/mapi/glapi/gen/static_data.py | 1029 ++++++++++++++++++++++++++-
src/mapi/mapi_abi.py | 138 +---
src/mapi/meson.build | 1 +
src/mapi/new/genCommon.py | 254 +++++++
src/mapi/new/gen_gldispatch_mapi.py | 180 +++++
src/mapi/shared-glapi/SConscript | 28 +-
14 files changed, 1521 insertions(+), 243 deletions(-)
create mode 100644 src/mapi/new/genCommon.py
create mode 100755 src/mapi/new/gen_gldispatch_mapi.py
--
2.19.1
More information about the mesa-dev
mailing list