mesa/src/egl
James Jones 5baa36f423 gbm: Version the GBM backend interface
Define a version number for the interface GBM uses
to offload work to its backends/drivers. Store the
version in the backend interface structs provided
to the loader by backends, as well as in the core
interface struct provided to backends by the GBM
loader code to backends.

The backend can create structures of any version
it supports, which can be greater or less than the
interface version specified by GBM in the core
interface structure. Hence, GBM will need to take
care to check the backend version before accessing
any members added to structs defined in
gbm_backend_abi.h after this change.

Similarly, the backend may need to check the
interface version supported by the GBM library
before passing back data in any structure members
that require the GBM library to interact with
them for correct operation. For example, if for
some reason a structure defined in
gbm_backend_abi.h gained a field which was a
pointer to memory allocated by the backend and
freed by GBM, the backend should avoid allocating
this memory if the GBM library did not specify an
interface version new enough to indicate that it
was aware of the new structure member.

Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
2021-07-06 16:57:59 +00:00
..
drivers gbm: Version the GBM backend interface 2021-07-06 16:57:59 +00:00
generate Add EGL xcb platform 2020-11-12 16:39:47 +00:00
main egl: fix in expected type 2021-06-19 19:34:20 +00:00
wayland egl/wayland: add a NULL guard for the authenticate callback 2020-12-16 13:48:48 +00:00
Android.mk egl: Build surfaceless platform on Android 2020-07-13 08:46:55 +00:00
egl-entrypoint-check.py egl/entrypoint-check: add check that GLVND and plain EGL have the same entrypoints 2020-08-08 13:45:06 +00:00
egl-glvnd-symbols.txt egl: add glvnd symbols check 2019-07-10 11:27:51 +00:00
egl-symbols.txt egl: use new symbols check script 2019-07-10 11:27:51 +00:00
Makefile.sources egl: drop now empty egldriver.c 2020-08-16 13:49:18 +00:00
meson.build egl: android: add IMapper@4 metadata API buffer_info getter 2021-06-30 16:50:44 +00:00