configure.ac: enable 64-bit file API where availablie
Without the change `scandir()` fails on `i686-unknown-linux` if
`egl_vendor.d` contents contains files with inodes that overflow 32-bit
values. In my case it is `btrfs`:
$ ls -i egl_vendor.d/
5053988166 50_mesa.json
On `libEGL.so` I see the following symbol change (as reported by `nm`):
- U fopen@GLIBC_2.1
- U fstat@GLIBC_2.33
- U scandir@GLIBC_2.0
+ U fopen64@GLIBC_2.1
+ U fstat64@GLIBC_2.33
+ U scandir64@GLIBC_2.2
The fix allowed to run 32-bit `es2gears_wayland` from `mesa-demos`
without failures.
Merge branch 'fix-platform-device-last-error' into 'master'
Fix error reporting for EGL_PLATFORM_DEVICE_EXT
See merge request glvnd/libglvnd!284
cc26398...
by
Kyle Brenneman <email address hidden>
EGL: Fix error reporting for EGL_PLATFORM_DEVICE_EXT
In eglGetPlatformDisplay, if the platform is EGL_PLATFORM_DEVICE_EXT and
the native display is a valid EGLDeviceEXT handle, then as an
optimization, libglvnd will dispatch to whichever vendor owns that
device, rather than iterating through all of them.
If the vendor's eglGetPlatformDisplay implementation returns
EGL_NO_DISPLAY, then libglvnd would return that to the caller, but it
does not correctly pass through the vendor's last EGL error code.
Add a call to __eglSetLastVendor in that case, so that the next call to
eglGetError() will correctly go to that vendor.