chore(gamescope): update, fix oxp x1 intel, cleanup (#2047)

This commit is contained in:
Antheas Kapenekakis 2025-01-02 18:18:38 +02:00 committed by GitHub
parent 6b0ecc1c28
commit 3f4da265c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 837 additions and 1131 deletions

View File

@ -1,54 +0,0 @@
From 4da5c0a60ece2955cd60166ad0f93c93b0871723 Mon Sep 17 00:00:00 2001
From: brainantifreeze <you@example.com>
Date: Thu, 19 Dec 2024 09:16:15 +0000
Subject: [PATCH] add layer env var to hide present wait ext
---
layer/VkLayer_FROG_gamescope_wsi.cpp | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp
index 718a2604f3..f33da7f22f 100644
--- a/layer/VkLayer_FROG_gamescope_wsi.cpp
+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp
@@ -496,7 +496,11 @@ namespace GamescopeWSILayer {
createInfo.ppEnabledExtensionNames = enabledExts.data();
setenv("vk_xwayland_wait_ready", "false", 0);
- setenv("vk_khr_present_wait", "true", 0);
+ if (getHidePresentWait()) {
+ setenv("vk_khr_present_wait", "false", 0);
+ } else {
+ setenv("vk_khr_present_wait", "true", 0);
+ }
VkResult result = pfnCreateInstanceProc(&createInfo, pAllocator, pInstance);
if (result != VK_SUCCESS)
@@ -801,6 +805,10 @@ namespace GamescopeWSILayer {
const vkroots::VkInstanceDispatch* pDispatch,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures) {
+ if (getHidePresentWait()) {
+ fprintf(stderr, "[Gamescope WSI] Removing VkPhysicalDevicePresentWaitFeaturesKHR because GAMESCOPE_WSI_HIDE_PRESENT_WAIT_EXT is set\n");
+ vkroots::RemoveFromChain<VkPhysicalDevicePresentWaitFeaturesKHR>(pFeatures);
+ }
pDispatch->GetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
}
@@ -1015,6 +1023,16 @@ namespace GamescopeWSILayer {
return value;
}
+ static bool getHidePresentWait() {
+ static bool s_hidePresentWait = []() -> bool {
+ if (auto hide = parseEnv<uint32_t>("GAMESCOPE_WSI_HIDE_PRESENT_WAIT_EXT")) {
+ return *hide == 1;
+ }
+ return false;
+ }();
+ return s_hidePresentWait;
+ }
+
static uint32_t getMinImageCount() {
static uint32_t s_minImageCount = []() -> uint32_t {
if (auto minCount = parseEnv<uint32_t>("GAMESCOPE_WSI_MIN_IMAGE_COUNT")) {

File diff suppressed because it is too large Load Diff

View File

@ -3,12 +3,12 @@
%global _default_patch_fuzz 2
%global build_timestamp %(date +"%Y%m%d")
#global gamescope_tag 3.15.11
%global gamescope_commit d3174928d47f7e353e7daca63cf882d65660cc7c
%global gamescope_commit 4da5e4a37560f9b3c85af2679330f9ec292c8ee1
%define short_commit %(echo %{gamescope_commit} | cut -c1-8)
Name: gamescope
#Version: 100.%{gamescope_tag}
Version: 102.%{short_commit}
Version: 103.%{short_commit}
Release: 1.bazzite
Summary: Micro-compositor for video games on Wayland
@ -24,12 +24,6 @@ Patch0: 0001-cstdint.patch
# https://github.com/ChimeraOS/gamescope
Patch1: handheld.patch
# https://github.com/ValveSoftware/gamescope/pull/740
Patch2: 740.patch
# https://github.com/ValveSoftware/gamescope/pull/1671
Patch3: 1671.patch
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
BuildRequires: cmake

File diff suppressed because it is too large Load Diff