diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1356714..4b0fbfe 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -4,6 +4,9 @@ on:
push:
branches: ["release", "develop"]
+permissions:
+ contents: write
+
jobs:
build:
runs-on: ubuntu-22.04
@@ -34,12 +37,13 @@ jobs:
- name: Configure lsfg-vk
run: |
cmake -B build -G Ninja \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=./target \
-DCMAKE_CXX_COMPILER=clang++ \
-DLSFGVK_BUILD_VULKAN_LAYER=On \
-DLSFGVK_BUILD_USER_INTERFACE=On \
- -DLSFGVK_INSTALL_XDG_FILES=On
+ -DLSFGVK_INSTALL_XDG_FILES=On \
+ -DLSFGVK_LAYER_LIBRARY_PATH="../../../lib/liblsfg-vk-layer.so"
- name: Build with Ninja
run: |
ninja -C build
@@ -53,3 +57,14 @@ jobs:
name: lsfg-vk
path: |
target/*
+ - name: Compress lsfg-vk for release
+ run: |
+ tar -cJf "lsfg-vk-2.0.0-dev${{ github.run_number }}-linux.tar.xz" -C target .
+ - name: Update pre-release version
+ uses: marvinpinto/action-automatic-releases@latest
+ with:
+ repo_token: "${{ secrets.GITHUB_TOKEN }}"
+ automatic_release_tag: v2.0.0-dev
+ title: "lsfg-vk 2.0.0-dev${{ github.run_number }}"
+ files: |
+ lsfg-vk-2.0.0-dev${{ github.run_number }}-linux.tar.xz
diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml
index 1e19fbc..84e3c9c 100644
--- a/.github/workflows/flatpak.yml
+++ b/.github/workflows/flatpak.yml
@@ -22,7 +22,6 @@ jobs:
bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_${{ matrix.version }}.flatpak"
manifest-path: "dist/flatpak/lsfg-vk-layer/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
branch: "${{ matrix.version }}"
- cache: false
flatpak-ui:
runs-on: ubuntu-latest
container:
@@ -37,4 +36,3 @@ jobs:
bundle: "gay.pancake.lsfg-vk-ui.flatpak"
manifest-path: "dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.yml"
branch: "${{ github.ref_name }}"
- cache: false
diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml
index d310c72..1f29540 100644
--- a/.github/workflows/manual.yml
+++ b/.github/workflows/manual.yml
@@ -61,7 +61,8 @@ jobs:
-DCMAKE_CXX_COMPILER=clang++ \
-DLSFGVK_BUILD_VULKAN_LAYER=On \
-DLSFGVK_BUILD_USER_INTERFACE=On \
- -DLSFGVK_INSTALL_XDG_FILES=On
+ -DLSFGVK_INSTALL_XDG_FILES=On \
+ -DLSFGVK_LAYER_LIBRARY_PATH="../../../lib/liblsfg-vk-layer.so"
- name: Build with Ninja
run: |
ninja -C build
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 904da76..277e5bf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,8 +6,9 @@ include(GNUInstallDirs)
option(LSFGVK_BUILD_VULKAN_LAYER "Build the Vulkan layer" ON)
option(LSFGVK_BUILD_USER_INTERFACE "Build the user interface" OFF)
option(LSFGVK_BUILD_DEBUG_TOOL "Build the debug tool" OFF)
-option(LSFGVK_INSTALL_DEVELOP "Install development files" OFF)
-option(LSFGVK_INSTALL_XDG_FILES "Install xdg app files" OFF)
+option(LSFGVK_INSTALL_DEVELOP "Install development libraries and headers" OFF)
+option(LSFGVK_INSTALL_XDG_FILES "Install the application icon and desktop files" OFF)
+option(LSFGVK_LAYER_LIBRARY_PATH "Change where Vulkan searches for the layer library" liblsfg-vk-layer.so)
# === READ HERE FOR BUILD OPTIONS ===
set(CMAKE_CXX_STANDARD 20)
diff --git a/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml b/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml
index 2915023..c6e50c9 100644
--- a/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml
+++ b/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml
@@ -21,7 +21,7 @@
-
+
diff --git a/lsfg-vk-backend/src/lsfgvk.cpp b/lsfg-vk-backend/src/lsfgvk.cpp
index fd50195..9de1226 100644
--- a/lsfg-vk-backend/src/lsfgvk.cpp
+++ b/lsfg-vk-backend/src/lsfgvk.cpp
@@ -201,8 +201,8 @@ namespace {
vk::Vulkan createVulkanInstance(vk::PhysicalDeviceSelector selectPhysicalDevice) {
try {
return{
- "lsfg-vk", vk::version{1, 1, 0},
- "lsfg-vk-engine", vk::version{1, 1, 0},
+ "lsfg-vk", vk::version{2, 0, 0},
+ "lsfg-vk-engine", vk::version{2, 0, 0},
selectPhysicalDevice,
false, std::nullopt,
findCacheFilePath()
diff --git a/lsfg-vk-debug/src/debug.cpp b/lsfg-vk-debug/src/debug.cpp
index 4d924d7..a2a107f 100644
--- a/lsfg-vk-debug/src/debug.cpp
+++ b/lsfg-vk-debug/src/debug.cpp
@@ -75,8 +75,8 @@ int main() {
const uint64_t time_us = get_current_time_us();
const vk::Vulkan vk{
- "lsfg-vk-debug", vk::version{1, 1, 0},
- "lsfg-vk-debug-engine", vk::version{1, 0, 0},
+ "lsfg-vk-debug", vk::version{2, 0, 0},
+ "lsfg-vk-debug-engine", vk::version{2, 0, 0},
[](const vk::VulkanInstanceFuncs,
const std::vector& devices) {
return devices.front();
diff --git a/lsfg-vk-layer/CMakeLists.txt b/lsfg-vk-layer/CMakeLists.txt
index 1d5c122..f379f71 100644
--- a/lsfg-vk-layer/CMakeLists.txt
+++ b/lsfg-vk-layer/CMakeLists.txt
@@ -12,9 +12,6 @@ target_link_libraries(lsfg-vk-layer
set_target_properties(lsfg-vk-layer PROPERTIES
CXX_VISIBILITY_PRESET hidden)
-set(LSFGVK_LAYER_LIBRARY_PATH
- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/liblsfg-vk-layer.so"
- CACHE STRING "Path to Vulkan layer shared object")
configure_file(
"VkLayer_LSFGVK_frame_generation.json.in"
"VkLayer_LSFGVK_frame_generation.json"
diff --git a/lsfg-vk-ui/src/utils.cpp b/lsfg-vk-ui/src/utils.cpp
index 47e865a..7fdec90 100644
--- a/lsfg-vk-ui/src/utils.cpp
+++ b/lsfg-vk-ui/src/utils.cpp
@@ -38,8 +38,8 @@ QStringList ui::getAvailableGPUs() { // NOLINT (IWYU)
}
// first remove 1:1 duplicates
- std::ranges::sort(gpus);
- gpus.erase(std::ranges::unique(gpus).begin(), gpus.end());
+ std::sort(gpus.begin(), gpus.end()); // NOLINT (ranges [thanks gcc!])
+ gpus.erase(std::unique(gpus.begin(), gpus.end()), gpus.end()); // NOLINT
// build the frontend list
QStringList list{"Default"}; // NOLINT (IWYU)