mapi: correctly handle the full offset table
authorEmil Velikov <emil.velikov@collabora.com>
Wed, 5 Jun 2019 15:45:03 +0000 (16:45 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 10 Jun 2019 13:04:30 +0000 (14:04 +0100)
commita379b1c0ee31a792bba250cc466ad4b161a610ec
tree512c56f73eb960e9ee866d8a7a2eecb9ef8f8e03
parent497de977bdfe79469638e351d1363275c5954ea6
mapi: correctly handle the full offset table

Earlier commit converted ES1 and ES2 to a new, much simpler, dispatch
generator. At the same time, GL/glapi and the driver side are still
using the old code.

There is a hidden ABI between GL*.so and glapi.so, former referencing
entry-points by offset in the _glapi_table. Hence earlier commit added
the full table of entry-points, alongside a marker for other cases like
indirect GL(X) and driver-size remapping.

Yet the patches did not handle things fully, thus it was possible to
get different interpretations of the dispatch table after the marker.

This commit fixes that adding an indicative error message to catch
future bugs.

While here correct the marker (MAX_OFFSETS) comment.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110302
Fixes: cf317bf0937 ("mapi: add all _glapi_table entrypoints tostatic_data.py")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/mapi/glapi/gen/gl_XML.py
src/mapi/glapi/gen/static_data.py