-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add EGL_WL_bind_wayland_display and EGL_WL_create_wayland_buffer_from_image #95
Conversation
These were originally developed by @krh and @bpeel. They have been shipped in Mesa as well as Wayland for quite some time now. We would like to stop doing it downstream and have them included in the primary registry - despite our mistake of plucking an arbitrary unregistered vendor token ('WL' for the Wayland project) and accidentally aliasing enum values with Mesa's platform tokens. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK. It would be possible to add aliases / #defines of the nonstandard PFNEGL* names in egl.xml rather than downstream, if that's helpful.
@oddhack Yeah, that would be incredibly helpful and stop us shipping some bad hacks downstream! Should I do that next to the typedefs like |
ceaa30a
to
1343ecc
Compare
@oddhack I've replaced the commits in this branch with one that adds typedefs for the legacy entrypoints. This was a little bit hairy, so let me know if it was the right thing to do or if there's another suitable way. |
Thanks @fooishbar. |
I think this can be simplified into using either typedefs of the old and new names, or #defines (if you don't mind that approach). Will give it a try if you wish, probably not until tomorrow though. |
Thanks, I'm fine with anything which actually works, so if you think you have a better approach please feel free. No rush on the time either: it's been 8.5 years already, so I'm sure we can live with another couple of days. |
I hope I wasn't too literal with the wording here :P |
1343ecc
to
8e6785d
Compare
Sorry about that. See #97 for an example. It is not elegant but hopefully will suffice. A better job would require out of scope changes to the schema and generator scripts. |
…_image These extensions were developed by the Wayland project several years ago, but never proposed for inclusion in the primary Khronos repository. Unfortunately this includes tokens which alias with already-defined values for the EGL platform extensions. Downstream implementations also offered non-standard typedefs (e.g. PFNEGLBINDWAYLANDDISPLAYWL instead of PFNEGLBINDWAYLANDDISPLAYWLPROC) which will have to be accounted for in those implementations.
8e6785d
to
928bc5d
Compare
@oddhack Thanks a lot for your help! I've revised this so it uses the I tested this with Weston, which uses the old non- |
If this WL extension is ready, just mark as "Approved for Merge" and assign to oddhack to have that completed. |
@stonesthrow PR submitters can't approve their own PRs, but I have assigned to @oddhack for merging. |
For Pinephone we need a newer version of Mesa, and that breaks one of the plugins of qtwayland. Indeed, eglmesaext.h doesn't get indirectly included by eglext.h, and some typedefs aren't defined anymore. This patch will become useless when Mesa ships with an updated set of Khronos headers, because KhronosGroup/EGL-Registry#95 has now been merged. Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
For Pinephone we need a newer version of Mesa, and that breaks one of the plugins of qtwayland. Indeed, eglmesaext.h doesn't get indirectly included by eglext.h, and some typedefs aren't defined anymore. This patch will become useless when Mesa ships with an updated set of Khronos headers, because KhronosGroup/EGL-Registry#95 has now been merged. Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
For Pinephone we need a newer version of Mesa, and that breaks one of the plugins of qtwayland. Indeed, eglmesaext.h doesn't get indirectly included by eglext.h, and some typedefs aren't defined anymore. This patch will become useless when Mesa ships with an updated set of Khronos headers, because KhronosGroup/EGL-Registry#95 has now been merged. Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: KhronosGroup/EGL-Registry#95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: KhronosGroup/EGL-Registry#95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: KhronosGroup/EGL-Registry#95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: KhronosGroup/EGL-Registry#95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
…_image (KhronosGroup#95) These extensions were developed by the Wayland project several years ago, but never proposed for inclusion in the primary Khronos repository. Unfortunately this includes tokens which alias with already-defined values for the EGL platform extensions. Downstream implementations also offered non-standard typedefs (e.g. PFNEGLBINDWAYLANDDISPLAYWL instead of PFNEGLBINDWAYLANDDISPLAYWLPROC) which will have to be accounted for in those implementations.
These extensions were developed by the Wayland project several years
ago, but never proposed for inclusion in the primary Khronos repository.
Unfortunately this includes tokens which alias with already-defined
values for the EGL platform extensions. Downstream implementations also
offered non-standard typedefs (e.g. PFNEGLBINDWAYLANDDISPLAYWL instead
of PFNEGLBINDWAYLANDDISPLAYWLPROC) which will have to be accounted for
in those implementations.