Summary: | Mesa's demo / tools won't compile since EGL changes | ||
---|---|---|---|
Product: | Mesa | Reporter: | Mike Lothian <mike> |
Component: | Demos | Assignee: | mesa-dev |
Status: | RESOLVED DUPLICATE | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | CC: | devurandom, julien.isorce, mike, pali.rohar |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Build logs
Build log without EGL Fix build against EGL implementations that don't support the EGL_MESA_screen_surface extension |
Mesa commit 7a58262e58d removed all the EGL_MESA_screen_surface definitions as it was never implemented (according to it). Seems like mesa-demos doesn't have the necessary compile guards. Something like the following should fix things #if EGL_MESA_screen_surface // code using the extension #endif Feel free to wrap up a patch and send it to mesa-dev ML. Thanks Emil I'm afraid that's beyond me - I've tried compiling without the egl utilities and now get: Created attachment 116585 [details]
Build log without EGL
Created attachment 117106 [details] [review] Fix build against EGL implementations that don't support the EGL_MESA_screen_surface extension There is a patch by Frank Binns (posted on mesa-dev) since 2012 on this... It worked for me, so I'm attaching it here (In reply to George Diamantopoulos from comment #4) > Created attachment 117106 [details] [review] [review] > Fix build against EGL implementations that don't support the > EGL_MESA_screen_surface extension > > There is a patch by Frank Binns (posted on mesa-dev) since 2012 on this... > It worked for me, so I'm attaching it here While this should work and has been the approach used so far in mesa-demos, I'm having second doubts how wise of an idea it is. In this particular example, this will result in a "empty" demo/program which won't do anything when run on a EGL_MESA_screen_surface capable driver. I.e. even if your system is perfectly fine, the binary build by your distro/elsewhere with the missing definition will be useless. May I suggest that we add the relevant defines, after including the *GL headers. This way the binary will work on compatible systems, and (should) bail out if the extension is not supported. One could also fix the other similar cases, while at it ;-) Git grep shows some ~120 lines :-P |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 116577 [details] Build logs Compile fails with EGL_SCREEN_BIT_MESA