Skip to content

Commit 73ec30e

Browse files
authored
multiwindow/gg: add cross-platform multiwindow services and lifecycle safety (#28134)
1 parent c5aa74c commit 73ec30e

113 files changed

Lines changed: 61774 additions & 1150 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/cache-apt-packages-action/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ runs:
3737
packages='postgresql sqlite3 libpq-dev libssl-dev libsqlite3-dev'
3838
;;
3939
graphics)
40-
packages='imagemagick openimageio-tools xvfb xsel xclip libfreetype6-dev libxi-dev libxcursor-dev libgl-dev libxrandr-dev libasound2-dev libx11-dev freeglut3-dev mesa-common-dev libgl1-mesa-dev libgl1-mesa-dri xfonts-75dpi xfonts-base'
40+
packages='imagemagick openimageio-tools xvfb xsel xclip libfreetype6-dev libxi-dev libxcursor-dev libgl-dev libxrandr-dev libasound2-dev libx11-dev libx11-xcb-dev freeglut3-dev mesa-common-dev libgl1-mesa-dev libgl1-mesa-dri xfonts-75dpi xfonts-base'
4141
;;
4242
sdl)
4343
packages='libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev libpng-dev libsamplerate0-dev'
@@ -46,7 +46,7 @@ runs:
4646
packages='clang valgrind postgresql sqlite3 libpq-dev libssl-dev libsqlite3-dev libfreetype6-dev libxi-dev libxcursor-dev libgl-dev libxrandr-dev libasound2-dev'
4747
;;
4848
full)
49-
packages='expect binutils postgresql sqlite3 clang valgrind imagemagick openimageio-tools xvfb xsel xclip libsodium-dev libpq-dev libssl-dev libsqlite3-dev libfreetype6-dev libxi-dev libxcursor-dev libgl-dev libxrandr-dev libasound2-dev libx11-dev freeglut3-dev mesa-common-dev libgl1-mesa-dev libgl1-mesa-dri libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev libpng-dev libsamplerate0-dev xfonts-75dpi xfonts-base'
49+
packages='expect binutils postgresql sqlite3 clang valgrind imagemagick openimageio-tools xvfb xsel xclip libsodium-dev libpq-dev libssl-dev libsqlite3-dev libfreetype6-dev libxi-dev libxcursor-dev libgl-dev libxrandr-dev libasound2-dev libx11-dev libx11-xcb-dev freeglut3-dev mesa-common-dev libgl1-mesa-dev libgl1-mesa-dri libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev libpng-dev libsamplerate0-dev xfonts-75dpi xfonts-base'
5050
;;
5151
*)
5252
echo "Unknown apt package profile: $PROFILE" >&2

.github/workflows/gg_regressions_ci.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,11 @@ jobs:
5555
# libgl1-mesa-dri : For headless rendering / software DRI driver (LIBGL_ALWAYS_SOFTWARE=true)
5656
# freeglut3-dev : Fixes graphic apps compilation with tcc
5757
# libx11-dev : X11 headers for opt-in x.multiwindow X11/Xvfb coverage
58+
# libx11-xcb-dev : shared Xlib/XCB connection for checked same-client requests
5859
# libwayland-dev : Wayland headers for x.multiwindow Wayland compile/probe tests
5960
.github/workflows/disable_azure_mirror.sh
6061
./v retry -- sudo apt update
61-
./v retry -- sudo apt install imagemagick openimageio-tools libgl1-mesa-dev libgl1-mesa-dri xvfb libxcursor-dev libxi-dev libxrandr-dev freeglut3-dev xsel xclip libx11-dev libegl-dev libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev wayland-protocols
62+
./v retry -- sudo apt install imagemagick openimageio-tools libgl1-mesa-dev libgl1-mesa-dri xvfb libxcursor-dev libxi-dev libxrandr-dev freeglut3-dev xsel xclip libx11-dev libx11-xcb-dev libegl-dev libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev wayland-protocols
6263
./v retry -- ./v download https://raw.githubusercontent.com/tremby/imgur.sh/c98345d/imgur.sh
6364
./v retry -- git clone https://github.com/Larpon/gg-regression-images gg-regression-images
6465
chmod +x ./imgur.sh
@@ -71,7 +72,7 @@ jobs:
7172
set -euo pipefail
7273
env -u DISPLAY -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE ./v -d gg_multiwindow test vlib/x/multiwindow vlib/gg/multiwindow_api_d_gg_multiwindow_test.v vlib/gg/frame_pacing_test.v vlib/gg/draw_fns_api_test.v vlib/gg/draw_rect_empty_test.v
7374
env -u DISPLAY -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE ./v -d gg_multiwindow -d sokol_wayland test vlib/x/multiwindow vlib/gg/multiwindow_api_d_gg_multiwindow_test.v vlib/gg/frame_pacing_test.v vlib/gg/draw_fns_api_test.v vlib/gg/draw_rect_empty_test.v
74-
xvfb-run -a -s "-screen 0 1280x1024x24" env -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE LIBGL_ALWAYS_SOFTWARE=true ./v -d gg_multiwindow -d x_multiwindow_x11 test vlib/x/multiwindow vlib/gg/multiwindow_api_d_gg_multiwindow_test.v vlib/gg/frame_pacing_test.v vlib/gg/draw_fns_api_test.v vlib/gg/draw_rect_empty_test.v
75+
xvfb-run -a -s "-screen 0 1280x1024x24 -noreset" env -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE LIBGL_ALWAYS_SOFTWARE=true ./v -d gg_multiwindow -d x_multiwindow_x11 test vlib/x/multiwindow vlib/gg/multiwindow_api_d_gg_multiwindow_test.v vlib/gg/frame_pacing_test.v vlib/gg/draw_fns_api_test.v vlib/gg/draw_rect_empty_test.v
7576
./v -d gg_multiwindow -o /tmp/gg_multiwindow_default examples/gg/multiwindow.v
7677
./v -d gg_multiwindow -d x_multiwindow_x11 -o /tmp/gg_multiwindow_x11 examples/gg/multiwindow.v
7778
./v -d gg_multiwindow -d sokol_wayland -o /tmp/gg_multiwindow_wayland examples/gg/multiwindow.v

0 commit comments

Comments
 (0)