Commit graph

14 commits

Author SHA1 Message Date
Dylan Baker a1a4123c7e meson: rename idep_glx -> dep_glx
Since we use idep as a convention to mean "internal dep"
2022-07-06 14:15:28 -07:00
Kyle Brenneman c1fde19814 Add a unit test for cleaning up EGL thread state.
Added a new test program, eglcurrentcleanup, which tests thread and
process termination while a thread still has a current context.
2022-05-17 13:00:01 -06:00
Kyle Brenneman 288eb48c04 tests: Add unit test for eglQueryDisplayAttribEXT.
Extended testegldeviceadd to be able to test calling eglQueryDisplayAttribEXT
to return a new EGLDeviceEXT handle.
2021-11-25 09:58:10 -07:00
Kyle Brenneman af3f7e9c2f tests: Added unit tests for adding new EGLDisplayEXT handles.
Added a new test program, testegldeviceadd, which tests a vendor library adding
a new EGLDeviceEXT handle after the application calls eglQueryDevicesEXT.

It's got two subtests right now. "querydevices" will test returning the new
device through a second eglQueryDevicesEXT call. "returndevice" tests returning
the new device through a vendor-provided dispatch stub.
2021-11-25 09:54:56 -07:00
Kyle Brenneman 01316ea91d tests: Update EGL test helpers to match the new EGL dummy vendor functions.
Updated egl_test_utils.c/h to include the new eglTestReturnDevice function.

Added functions to egl_test_utils.c/h to load each vendor's DummySetDeviceCount
function using dlopen+dlsym.
2021-11-25 09:54:56 -07:00
Kyle Brenneman 2d69d4720c Merge branch 'meson-test-environment-workaround' into 'master'
tests: Work around a bug in Meson 0.58.

Closes #218

See merge request glvnd/libglvnd!243
2021-10-28 15:30:02 +00:00
Kyle Brenneman 922b85a94a Merge branch 'fix-x11-config-option' into 'master'
Fix the option to disable X11 in meson

See merge request glvnd/libglvnd!258
2021-10-28 15:28:42 +00:00
Kyle Brenneman 6816db8015 Merge branch 'meson-test-add-dummy-depends' into 'master'
tests/meson: Add dependencies for the dummy vendor libraries.

See merge request glvnd/libglvnd!242
2021-10-27 18:32:48 +00:00
Kyle Brenneman 27eb562a11 tests: Remove the X11 dependency from the EGL tests.
The EGL tests don't use X11, and only included the Xlib headers by way
of eglplatform.h.

Now that we don't set the USE_X11 macro anymore, eglplatform.h won't try
to include anything from Xlib, and so the EGL tests don't need X11 as a
dependency.
2021-10-27 12:27:47 -06:00
Alex Richardson 396c10bdd7 Add x11_headers dependency to all targets that use it
This fixes the build for me since I have libX11 installed to a custom
prefix, so the default include path does not include libX11. This fixes
lots of instances of the following error:
../../libglvnd/include/EGL/eglplatform.h:109:10: fatal error: 'X11/Xlib.h' file not found

Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
2021-10-04 10:58:08 +01:00
Kyle Brenneman a7bb6f4d19 Remove extra paragraph from license text.
Remove the "If only executable code is distributed..." paragraph from
the license text. Everything now uses a normal MIT license.

The only code from Khronos that's included in libglvnd is the EGL/GL
header and XML files, which do not contain that paragraph.

Fixes https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/221
2021-09-30 09:21:34 -06:00
Kyle Brenneman 2b31e3b74c tests: Work around a bug in Meson 0.58.
Meson 0.58 doesn't accept an array within an array for the environment
parameter to test(). See:
https://github.com/mesonbuild/meson/issues/8727

Work around that by using "+" to join environment lists instead.

Fixes https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/218
2021-05-26 12:52:25 -06:00
Kyle Brenneman 1bb30a62f4 tests/meson: Add dependencies for the dummy vendor libraries.
Added a depends parameter to the GLX and EGL unit tests to ensure that meson
builds the dummy vendor libraries before trying to run the tests.
2021-05-18 17:07:18 -06:00
Dylan Baker 16dc32352d Add meson build system
Theres a couple of things that this meson build system does differently
than autotools. It doesn't use a config.h file, it just puts #defines on
the command line with -D. It also does all of the code generation in the
generated folder, simply because it's simpler to do that.

On my 2 core / 4 thread KBL system:

autotools (no ccache):
sh -c "./autogen.sh&& ./configure && make -j6 check"  44.74s user 6.70s system 145% cpu 35.269 total

autotools (warm ccache):
sh -c "./autogen.sh&& ./configure && make -j6 check"  32.86s user 4.22s system 129% cpu 28.580 total

meson (no ccache):
sh -c "meson build; ninja -C build test"  23.48s user 3.71s system 236% cpu 11.487 total

meson (warm ccache)
sh -c "meson build; ninja -C build test"  16.06s user 2.31s system 210% cpu 8.727 total
2019-12-05 12:01:36 -08:00