From e188daf39236646e0fa27eb9846820bb691712ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 28 Sep 2023 10:04:20 +0200 Subject: [PATCH] package/ci: properly test all GLX and EGL applications. Interesting that neither GlxApplication nor XEglApplication was actually built on the CI. Also test all EGL applications and contexts on GLX builds as well, as those should work there too. For GLX on EGL builds it's a different story. --- package/ci/circleci.yml | 79 ++++++++++++++++++++++++++------- package/ci/unix-desktop-gles.sh | 3 +- package/ci/unix-desktop.sh | 2 - 3 files changed, 65 insertions(+), 19 deletions(-) diff --git a/package/ci/circleci.yml b/package/ci/circleci.yml index 9022f910f..be09f70ba 100644 --- a/package/ci/circleci.yml +++ b/package/ci/circleci.yml @@ -302,7 +302,13 @@ jobs: CMAKE_CXX_FLAGS: --coverage LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 CONFIGURATION: Debug - PLATFORM_GL_API: GLX + EXTRA_OPTS: > + -DMAGNUM_WITH_GLXAPPLICATION=ON + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_GLXCONTEXT=ON + -DMAGNUM_WITH_EGLCONTEXT=ON steps: - install-base-linux: extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev @@ -324,7 +330,13 @@ jobs: environment: CMAKE_CXX_FLAGS: --coverage CONFIGURATION: Debug - PLATFORM_GL_API: GLX + EXTRA_OPTS: > + -DMAGNUM_WITH_GLXAPPLICATION=ON + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_GLXCONTEXT=ON + -DMAGNUM_WITH_EGLCONTEXT=ON steps: # Not installing the old GCC 4.8 and CMake 3.5 to speed up. These are # tested more than enough on other jobs. @@ -362,7 +374,10 @@ jobs: CMAKE_CXX_FLAGS: --coverage LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 CONFIGURATION: Debug - PLATFORM_GL_API: EGL + EXTRA_OPTS: > + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_EGLCONTEXT=ON # STUPID yml interprets unquoted ON as a boolean TARGET_GLES2: "ON" steps: @@ -388,7 +403,10 @@ jobs: CMAKE_CXX_FLAGS: --coverage LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 CONFIGURATION: Debug - PLATFORM_GL_API: EGL + EXTRA_OPTS: > + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_EGLCONTEXT=ON # STUPID yml interprets unquoted OFF as a boolean TARGET_GLES2: "OFF" steps: @@ -418,11 +436,18 @@ jobs: # to be either installed or static. Tests are however deliberately run # before install, so the static builds are the only case where the # utilities get thoroughly tested. - EXTRA_OPTS: -DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::AnySceneConverter;Magnum::ObjImporter -DMAGNUM_IMAGECONVERTER_STATIC_PLUGINS=Magnum::AnyImageImporter;Magnum::AnyImageConverter;Magnum::TgaImporter;Magnum::TgaImageConverter + EXTRA_OPTS: > + -DMAGNUM_WITH_GLXAPPLICATION=ON + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_GLXCONTEXT=ON + -DMAGNUM_WITH_EGLCONTEXT=ON + -DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::AnySceneConverter;Magnum::ObjImporter + -DMAGNUM_IMAGECONVERTER_STATIC_PLUGINS=Magnum::AnyImageImporter;Magnum::AnyImageConverter;Magnum::TgaImporter;Magnum::TgaImageConverter CMAKE_CXX_FLAGS: --coverage LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 CONFIGURATION: Debug - PLATFORM_GL_API: GLX steps: - install-base-linux: extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev @@ -447,7 +472,13 @@ jobs: BUILD_DEPRECATED: "OFF" CMAKE_CXX_FLAGS: -DCORRADE_NO_ASSERT CONFIGURATION: Release - PLATFORM_GL_API: GLX + EXTRA_OPTS: > + -DMAGNUM_WITH_GLXAPPLICATION=ON + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_GLXCONTEXT=ON + -DMAGNUM_WITH_EGLCONTEXT=ON steps: - install-base-linux: extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev @@ -473,10 +504,16 @@ jobs: BUILD_APPLICATIONS: "OFF" CMAKE_CXX_FLAGS: -fsanitize=address CONFIGURATION: Debug - PLATFORM_GL_API: GLX + EXTRA_OPTS: > + -DMAGNUM_WITH_GLXAPPLICATION=ON + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_GLXCONTEXT=ON + -DMAGNUM_WITH_EGLCONTEXT=ON steps: - install-base-linux: - extra: libgl1-mesa-dev libopenal-dev libvulkan-dev + extra: libgl1-mesa-dev libegl1-mesa-dev libopenal-dev libvulkan-dev - install-clang - install-cmake: version: "3.5.2" @@ -493,10 +530,16 @@ jobs: BUILD_APPLICATIONS: "OFF" CMAKE_CXX_FLAGS: -fsanitize=thread CONFIGURATION: Debug - PLATFORM_GL_API: GLX + EXTRA_OPTS: > + -DMAGNUM_WITH_GLXAPPLICATION=ON + -DMAGNUM_WITH_XEGLAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_GLXCONTEXT=ON + -DMAGNUM_WITH_EGLCONTEXT=ON steps: - install-base-linux: - extra: libgl1-mesa-dev libopenal-dev libvulkan-dev + extra: libgl1-mesa-dev libegl1-mesa-dev libopenal-dev libvulkan-dev - install-clang - install-cmake: version: "3.5.2" @@ -509,7 +552,9 @@ jobs: environment: CMAKE_CXX_FLAGS: --coverage CONFIGURATION: Debug - PLATFORM_GL_API: CGL + EXTRA_OPTS: > + -DMAGNUM_WITH_WINDOWLESSCGLAPPLICATION=ON + -DMAGNUM_WITH_CGLCONTEXT=ON steps: - install-base-macos: extra: sdl2 glfw molten-vk @@ -522,7 +567,9 @@ jobs: environment: CMAKE_CXX_FLAGS: --coverage CONFIGURATION: Debug - PLATFORM_GL_API: EGL + EXTRA_OPTS: > + -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON + -DMAGNUM_WITH_EGLCONTEXT=ON # STUPID yml interprets unquoted OFF as a boolean TARGET_GLES2: "OFF" steps: @@ -557,10 +604,12 @@ jobs: BUILD_STATIC: "ON" # Same comment as with the linux-static build -- these are the only jobs # that test command-line tools thoroughly - EXTRA_OPTS: -DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::ObjImporter + EXTRA_OPTS: > + -DMAGNUM_WITH_WINDOWLESSCGLAPPLICATION=ON + -DMAGNUM_WITH_CGLCONTEXT=ON + -DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::ObjImporter CMAKE_CXX_FLAGS: --coverage CONFIGURATION: Debug - PLATFORM_GL_API: CGL steps: - install-base-macos: extra: sdl2 glfw molten-vk diff --git a/package/ci/unix-desktop-gles.sh b/package/ci/unix-desktop-gles.sh index b0a0a901b..668e396fd 100755 --- a/package/ci/unix-desktop-gles.sh +++ b/package/ci/unix-desktop-gles.sh @@ -31,8 +31,6 @@ cmake .. \ -DMAGNUM_WITH_VK=OFF \ -DMAGNUM_WITH_GLFWAPPLICATION=ON \ -DMAGNUM_WITH_SDL2APPLICATION=ON \ - -DMAGNUM_WITH_WINDOWLESS${PLATFORM_GL_API}APPLICATION=ON \ - -DMAGNUM_WITH_${PLATFORM_GL_API}CONTEXT=ON \ -DMAGNUM_WITH_OPENGLTESTER=ON \ `# Some plugins have to be enabled in order to test rendering output` \ `# Converter plugins are needed by the DebugTools::screenshot() test` \ @@ -57,6 +55,7 @@ cmake .. \ -DMAGNUM_WITH_AL_INFO=OFF \ -DMAGNUM_BUILD_TESTS=ON \ -DMAGNUM_BUILD_GL_TESTS=ON \ + $EXTRA_OPTS \ -G Ninja ninja $NINJA_JOBS diff --git a/package/ci/unix-desktop.sh b/package/ci/unix-desktop.sh index ebcd06608..014a5749d 100755 --- a/package/ci/unix-desktop.sh +++ b/package/ci/unix-desktop.sh @@ -36,8 +36,6 @@ cmake .. \ -DMAGNUM_WITH_VK=ON \ -DMAGNUM_WITH_GLFWAPPLICATION=$BUILD_APPLICATIONS \ -DMAGNUM_WITH_SDL2APPLICATION=$BUILD_APPLICATIONS \ - -DMAGNUM_WITH_WINDOWLESS${PLATFORM_GL_API}APPLICATION=ON \ - -DMAGNUM_WITH_${PLATFORM_GL_API}CONTEXT=ON \ -DMAGNUM_WITH_OPENGLTESTER=ON \ -DMAGNUM_WITH_ANYAUDIOIMPORTER=ON \ -DMAGNUM_WITH_ANYIMAGECONVERTER=ON \