Hi,<br><br>On Thursday, February 12, 2015, Bryce Harrington <<a href="mailto:bryce@osg.samsung.com">bryce@osg.samsung.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Feb 11, 2015 at 06:15:17PM +0000, Daniel Stone wrote:<br>
> weston-test uses eglBindWaylandDisplayWL and friends, which are defined<br>
> either by the EGL implementation, or weston-egl-ext.h as a fallback.<br>
> Include weston-egl-ext.h from weston-test, so we can build on systems<br>
> whose native EGL implementation doesn't give us the needed defines.<br>
<br>
This sounds sensible, however looking at weston-egl-ext.h, the three<br>
egl*WL functions appear to get declared only when EGL_EGLEXT_PROTOTYPES<br>
is defined, and I'm not spotting where that comes in. I'm sure you're<br>
correct here, but could you help me connect the dots?<br>
</blockquote><div><br></div><div>The function pointer types (e.g. EGLBINDWAYLANDDISPLAYWLPROC) are declared unconditionally, to support using eglGetProcAddress, typecasting, and calling. The bare function definitions are hidden behind a separate #define, as you are supposed to do extension lookups through GetProcAddress instead. So there's essentially a define which just lets you be lazy if you know you can get away with it.</div><div><br></div><div>See the core eglext.h for this pattern repeated ad nauseum.</div><div><br></div><div>Cheers,</div><div>Daniel<span></span> </div>