Run screenshot tests on ANGLE GLES3 backend with Vulkan software-rendering CI config#2833
Run screenshot tests on ANGLE GLES3 backend with Vulkan software-rendering CI config#2833Copilot wants to merge 13 commits into
Conversation
|
🖼️ Screenshot tests have failed. The purpose of these tests is to ensure that changes introduced in this PR don't break visual features. They are visual unit tests. 📄 Where to find the report:
✅ If you did mean to change things: ✨ If you are creating entirely new tests: Note; it is very important that the committed reference images are created on the build pipeline, locally created images are not reliable. Similarly tests will fail locally but you can look at the report to check they are "visually similar". See https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-screenshot-tests/README.md for more information Contact @richardTingle (aka richtea) for guidance if required |
|
@copilot switching the renderer to ANGLE_GLES3 is simply not enough. You need to configure the software rendering environment to support ANGLE on vulkan. |
Addressed in commit |
|
@copilot it fails with Failed to create SDL window: Could not create GLES window surface , i think the base image doesn't have the libraries needed for software rendering with angle vulkan |
Fixed in |
|
@copilot
|
|
@copilot |
Fixed in |
@copilot this issue was not fixed in the ci |
Updated in |
Screenshot tests currently force an OpenGL 4.5 renderer, which can miss stricter validation failures that ANGLE catches. This change switches screenshot test execution to
ANGLE_GLES3and configures the screenshot CI job to run ANGLE on a Vulkan software-rendering setup.Renderer selection in screenshot test harness
ScreenshotTest.run()to useAppSettings.ANGLE_GLES3instead ofAppSettings.LWJGL_OPENGL45.Screenshot CI environment for ANGLE-on-Vulkan software rendering
ScreenshotTestsjob in.github/workflows/main.ymlto set:LIBGL_ALWAYS_SOFTWARE=1VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.x86_64.jsonVK_DRIVER_FILES=/usr/share/vulkan/icd.d/lvp_icd.x86_64.jsonMESA_LOADER_DRIVER_OVERRIDE=zinkGALLIUM_DRIVER=zinkScreenshotTeststo ensure required runtime libraries/tools are present in the CI container for ANGLE-on-Vulkan software rendering:libegl1libgles2libvulkan1libx11-6libx11-xcb1libxcb1libxcb-dri3-0libxcb-present0libxcb-randr0libxcb-shm0libxcb-sync1libxcb-xfixes0libxshmfence1mesa-vulkan-driversvulkan-tools