From c33c49e6fae759206ee68fb3ae96eabf872a4bdd Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 27 Jan 2026 20:51:44 -0600 Subject: [PATCH] Update libplacebo and drop old Gamescope workaround --- .github/workflows/build-appimage.yml | 3 +- ...kan-Don-t-try-to-reuse-old-swapchain.patch | 40 ------------------- 2 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 app/deploy/linux/appimage/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml index aad28835..4d04e1f6 100644 --- a/.github/workflows/build-appimage.yml +++ b/.github/workflows/build-appimage.yml @@ -101,14 +101,13 @@ jobs: uses: actions/checkout@v5 with: repository: haasn/libplacebo - ref: bc90ef94944a3dcaab324b86d3e3769ad1d8698b + ref: 1dcaea8b601aa969ffd5bfa70088957ce3eaa273 path: deps/libplacebo submodules: 'recursive' - name: Build libplacebo working-directory: deps/libplacebo run: | - git apply ../../app/deploy/linux/appimage/*.patch meson setup build -Dvulkan=enabled -Dopengl=disabled -Ddemos=false ninja -C build sudo ninja install -C build diff --git a/app/deploy/linux/appimage/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch b/app/deploy/linux/appimage/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch deleted file mode 100644 index 2a27d1e8..00000000 --- a/app/deploy/linux/appimage/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 78261eb6e2fe728fa5d3843b5b8962b1ca559b7e Mon Sep 17 00:00:00 2001 -From: David Rosca -Date: Sat, 16 Dec 2023 14:52:01 +0100 -Subject: [PATCH] Vulkan: Don't try to reuse old swapchain - ---- - src/vulkan/swapchain.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/src/vulkan/swapchain.c b/src/vulkan/swapchain.c -index 0646e57c..c0b07ce4 100644 ---- a/src/vulkan/swapchain.c -+++ b/src/vulkan/swapchain.c -@@ -612,13 +612,21 @@ static bool vk_sw_recreate(pl_swapchain sw, int w, int h) - } - #endif - -+ { -+ pl_gpu_flush(gpu); -+ vk_wait_idle(vk); -+ for (int i = 0; i < vk->pool_graphics->num_queues; i++) -+ vk->QueueWaitIdle(vk->pool_graphics->queues[i]); -+ vk->DestroySwapchainKHR(vk->dev, p->swapchain, PL_VK_ALLOC); -+ } -+ - // Calling `vkCreateSwapchainKHR` puts sinfo.oldSwapchain into a retired - // state whether the call succeeds or not, so we always need to garbage - // collect it afterwards - asynchronously as it may still be in use -- sinfo.oldSwapchain = p->swapchain; -+ /* sinfo.oldSwapchain = p->swapchain; */ - p->swapchain = VK_NULL_HANDLE; - VkResult res = vk->CreateSwapchainKHR(vk->dev, &sinfo, PL_VK_ALLOC, &p->swapchain); -- vk_dev_callback(vk, VK_CB_FUNC(destroy_swapchain), vk, vk_wrap_handle(sinfo.oldSwapchain)); -+ /* vk_dev_callback(vk, VK_CB_FUNC(destroy_swapchain), vk, vk_wrap_handle(sinfo.oldSwapchain)); */ - PL_VK_ASSERT(res, "vk->CreateSwapchainKHR(...)"); - - // Get the new swapchain images --- -2.43.0 -