[client] egl: invalidate the window when HDR settings are changed #2321
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: [push, pull_request] | |
jobs: | |
client: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: | |
- {cc: gcc, cxx: g++} | |
- {cc: clang, cxx: clang++} | |
wayland_shell: [xdg-shell, libdecor] | |
build_type: [Release, Debug] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install libdecor PPA | |
run: sudo add-apt-repository ppa:christianrauch/libdecoration | |
if: ${{ matrix.wayland_shell == 'libdecor' }} | |
- name: Install PipeWire repository | |
run: | | |
echo 'deb [trusted=yes] https://pipewire-ubuntu.quantum5.workers.dev ./' | sudo tee /etc/apt/sources.list.d/pipewire.list | |
- name: Update apt | |
run: | | |
sudo apt-get update | |
- name: Install client dependencies | |
run: | | |
sudo apt-get install \ | |
binutils-dev \ | |
libspice-protocol-dev nettle-dev \ | |
libgl-dev libgles-dev \ | |
libx11-dev libxss-dev libxi-dev libxinerama-dev libxcursor-dev libxpresent-dev \ | |
libwayland-dev libxkbcommon-dev \ | |
libsamplerate0-dev libpipewire-0.3-dev libpulse-dev \ | |
$([ '${{ matrix.wayland_shell }}' = libdecor ] && echo 'libdecor-0-dev libdbus-1-dev') \ | |
$([ '${{ matrix.compiler.cc }}' = clang ] && echo 'clang-tools') | |
sudo pip3 install pyenchant | |
- name: Configure client | |
env: | |
CC: /usr/bin/${{ matrix.compiler.cc }} | |
CXX: /usr/bin/${{ matrix.compiler.cxx }} | |
run: | | |
mkdir client/build | |
cd client/build | |
cmake \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | |
-DCMAKE_LINKER:FILEPATH=/usr/bin/ld \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ | |
-DENABLE_LIBDECOR=${{ matrix.wayland_shell == 'libdecor' }} \ | |
.. | |
- name: Build client | |
run: | | |
cd client/build | |
make -j$(nproc) | |
- name: Checking help spelling | |
run: ./client/build/looking-glass-client --help | ./doc/lgspell.py | |
- name: Check GL function calls | |
if: matrix.compiler.cc == 'clang' | |
run: WAYLAND_SHELL='${{ matrix.wayland_shell }}' ./gl-check | |
module: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Build kernel module | |
run: | | |
cd module | |
make | |
host-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install PipeWire repository | |
run: | | |
echo 'deb [trusted=yes] https://pipewire-ubuntu.quantum5.workers.dev ./' | sudo tee /etc/apt/sources.list.d/pipewire.list | |
- name: Update apt | |
run: | | |
sudo apt-get update | |
- name: Install Linux host dependencies | |
run: | | |
sudo apt-get install binutils-dev libxcb-xfixes0-dev \ | |
libpipewire-0.3-dev | |
- name: Configure Linux host | |
run: | | |
mkdir host/build | |
cd host/build | |
cmake .. | |
- name: Build Linux host | |
run: | | |
cd host/build | |
make -j$(nproc) | |
host-windows-cross: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Update apt | |
run: | | |
sudo apt-get update | |
- name: Install Windows host cross-compile dependencies | |
run: | | |
sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 nsis | |
- name: Configure Windows host for cross-compile | |
run: | | |
mkdir host/build | |
cd host/build | |
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-mingw64.cmake .. | |
- name: Cross-compile Windows host | |
run: | | |
cd host/build | |
make -j$(nproc) | |
- name: Build Windows host installer | |
run: | | |
cd host/build | |
makensis platform/Windows/installer.nsi | |
- name: Build Windows host installer with IVSHMEM drivers | |
run: | | |
cd host/build | |
curl https://dl.quantum2.xyz/ivshmem.tar.gz | tar xz | |
makensis -DIVSHMEM platform/Windows/installer.nsi | |
host-windows-native: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Configure Windows host for native MinGW-w64 | |
run: | | |
mkdir host\build | |
cd host\build | |
cmake -G "MinGW Makefiles" .. | |
- name: Build Windows host on native MinGW-w64 | |
run: | | |
cd host\build | |
mingw32-make "-j$([Environment]::ProcessorCount)" | |
- name: Build Windows host installer | |
run: | | |
cd host\build | |
makensis -DBUILD_32BIT platform\Windows\installer.nsi | |
obs: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
cc: [gcc, clang] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Update apt | |
run: | | |
sudo apt-get update | |
- name: Install obs plugin dependencies | |
run: | | |
sudo apt-get install binutils-dev libobs-dev libgl1-mesa-dev | |
- name: Configure obs plugin | |
run: | | |
mkdir obs/build | |
cd obs/build | |
CC=/usr/bin/${{ matrix.cc }} cmake .. | |
- name: Build obs plugin | |
run: | | |
cd obs/build | |
make -j$(nproc) | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: recursive | |
- name: Update apt | |
run: | | |
sudo apt-get update | |
- name: Install docs dependencies | |
run: | | |
sudo apt-get install python3-sphinx python3-sphinx-rtd-theme \ | |
python3-sphinxcontrib.spelling | |
- name: Build docs | |
run: | | |
cd doc | |
make dirhtml SPHINXOPTS='-b spelling -W' -j$(nproc) |