summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Tsampas2024-06-06 16:13:14 +0300
committerStelios Tsampas2024-06-06 16:13:14 +0300
commit1c2a3eb7520300c1070709c92bfcab7f9bdb6f17 (patch)
tree7f3933b9fd924bfcde59b18cf2ee286c8ab4e373
parentccd7aa0abbab33cecbe7f6646cbeff3fc849cad7 (diff)
downloadaur-1c2a3eb7520300c1070709c92bfcab7f9bdb6f17.tar.gz
wine-ge-custom: Backport FSR fixes
-rw-r--r--.SRCINFO6
-rw-r--r--0001-fshack-fix-image-corruption-on-ANV-and-HD-Graphics-6.patch34
-rw-r--r--0002-fshack-mark-monitor-mode-structs-and-fsr-ratio-float.patch35
-rw-r--r--PKGBUILD8
4 files changed, 81 insertions, 2 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 97767c0ea500..ae8544108523 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = wine-ge-custom
pkgdesc = A compatibility layer for running Windows programs - GloriousEggroll branch
pkgver = GE.Proton8.26
- pkgrel = 3
+ pkgrel = 4
epoch = 1
url = https://github.com/GloriousEggroll/wine-ge-custom
install = wine.install
@@ -121,6 +121,8 @@ pkgbase = wine-ge-custom
source = wine-ge-custom::git+https://github.com/GloriousEggroll/wine-ge-custom.git#commit=21f5f463cb761b94bcd00553f924f55516389f5b
source = 30-win32-aliases.conf
source = wine-binfmt.conf
+ source = 0001-fshack-fix-image-corruption-on-ANV-and-HD-Graphics-6.patch
+ source = 0002-fshack-mark-monitor-mode-structs-and-fsr-ratio-float.patch
source = wine-wmclass.patch
source = wine-isolate_home.patch
validpgpkeys = 5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
@@ -128,6 +130,8 @@ pkgbase = wine-ge-custom
sha512sums = f136761fc72ce7abcda5ed195c6757db6a3fe0b028c657a588f95aa503bb4528504342b61d93aa3b56c9d3b282c400cdb63b09bbc57e811494de87f7a8695558
sha512sums = 6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb
sha512sums = bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285
+ sha512sums = 8d760b5b98d251638a397554405acd665df9926b3691afac96edc01442a571b626e463e66ce1cf0629f7a590c2178ea3ea8e749ab6f9840ae527831d76229ae5
+ sha512sums = 2e337093ff4d8065e51f9329b7008ebf797a32a1dee2755fbe723a24563437a7bca6664ad5f107c3c174a678332a87225b2a36f0d8fcbf72a8f15902095923b3
sha512sums = 30437d8ee92c5741fa50a7fe346ccfc48ba809dad0d740903a05a67781d23ea38a5094038a070a253e3fdd8046783b46a5420df6361bdd30cb229d3d88107569
sha512sums = 3dcdbd523fcbe79b9e9e9b026b9d0a5edf296514c7b48bd465d2dc05a8ca08e23ba8817e2de08edfe52286a2a2f81db42b65f71254cabe496752b9d45131d282
diff --git a/0001-fshack-fix-image-corruption-on-ANV-and-HD-Graphics-6.patch b/0001-fshack-fix-image-corruption-on-ANV-and-HD-Graphics-6.patch
new file mode 100644
index 000000000000..4ad3613d3f89
--- /dev/null
+++ b/0001-fshack-fix-image-corruption-on-ANV-and-HD-Graphics-6.patch
@@ -0,0 +1,34 @@
+From 5912f5762f386007c7f83edf9b02fd4f6ea0ba9c Mon Sep 17 00:00:00 2001
+From: Stelios Tsampas <loathingkernel@gmail.com>
+Date: Sat, 1 Jun 2024 13:02:24 +0300
+Subject: [PATCH 1/2] fshack: fix image corruption on ANV and HD Graphics 630
+
+---
+ dlls/winevulkan/vulkan.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
+index fe2816f96e9..0d69c00ebfb 100644
+--- a/dlls/winevulkan/vulkan.c
++++ b/dlls/winevulkan/vulkan.c
+@@ -2511,6 +2511,8 @@ static VkResult init_fs_hack_images(struct wine_device *device, struct wine_swap
+
+ if (createinfo->flags & VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR)
+ imageInfo.flags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | VK_IMAGE_CREATE_EXTENDED_USAGE_BIT;
++ else if (createinfo->imageFormat != VK_FORMAT_B8G8R8A8_SRGB)
++ imageInfo.flags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
+
+ res = device->funcs.p_vkCreateImage(device->device, &imageInfo, NULL, &hack->user_image);
+ if (res != VK_SUCCESS)
+@@ -4012,7 +4014,7 @@ static VkResult record_compute_cmd(struct wine_device *device, struct wine_swapc
+ /* vec2: blit dst extents in real coords */
+ constants[2] = swapchain->blit_dst.extent.width;
+ constants[3] = swapchain->blit_dst.extent.height;
+-
++
+ bind_pipeline(device, hack->cmd, &swapchain->blit_pipeline, hack->descriptor_set, constants);
+
+ /* local sizes in shader are 8 */
+--
+2.45.2
+
diff --git a/0002-fshack-mark-monitor-mode-structs-and-fsr-ratio-float.patch b/0002-fshack-mark-monitor-mode-structs-and-fsr-ratio-float.patch
new file mode 100644
index 000000000000..8604425afc59
--- /dev/null
+++ b/0002-fshack-mark-monitor-mode-structs-and-fsr-ratio-float.patch
@@ -0,0 +1,35 @@
+From 8faeee4d2a73b52f5ef16b059e4e666976c7079d Mon Sep 17 00:00:00 2001
+From: Stelios Tsampas <loathingkernel@gmail.com>
+Date: Sat, 1 Jun 2024 18:59:02 +0300
+Subject: [PATCH 2/2] fshack: mark monitor mode structs and fsr ratio floats as
+ const
+
+---
+ dlls/winex11.drv/fs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dlls/winex11.drv/fs.c b/dlls/winex11.drv/fs.c
+index b4c93b555c3..d5825e38456 100644
+--- a/dlls/winex11.drv/fs.c
++++ b/dlls/winex11.drv/fs.c
+@@ -47,7 +47,7 @@ struct fs_monitor_size
+ SIZE size;
+ BOOL additional;
+ };
+-static struct fs_monitor_size fs_monitor_sizes_base[] =
++static const struct fs_monitor_size fs_monitor_sizes_base[] =
+ {
+ {{640, 480}}, /* 4:3 */
+ {{800, 600}}, /* 4:3 */
+@@ -75,7 +75,7 @@ static struct fs_monitor_size fs_monitor_sizes_base[] =
+ };
+
+ /* The order should be in sync with the values in 'fs_hack_is_fsr_single_mode'*/
+-static float fsr_ratios[] = {
++static const float fsr_ratios[] = {
+ 2.0f, /* FSR Performance */
+ 1.7f, /* FSR Balanced */
+ 1.5f, /* FSR Quality */
+--
+2.45.2
+
diff --git a/PKGBUILD b/PKGBUILD
index fd78e04981be..c6242dadedd7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,7 +9,7 @@ pkgname=wine-ge-custom
_srctag=GE-Proton8-26
_commit=21f5f463cb761b94bcd00553f924f55516389f5b
pkgver=${_srctag//-/.}
-pkgrel=3
+pkgrel=4
epoch=1
_pkgbasever=${pkgver/rc/-rc}
@@ -20,6 +20,8 @@ source=(wine-ge-custom::git+https://github.com/GloriousEggroll/wine-ge-custom.gi
30-win32-aliases.conf
wine-binfmt.conf)
source+=(
+ 0001-fshack-fix-image-corruption-on-ANV-and-HD-Graphics-6.patch
+ 0002-fshack-mark-monitor-mode-structs-and-fsr-ratio-float.patch
wine-wmclass.patch
wine-isolate_home.patch
)
@@ -27,6 +29,8 @@ sha512sums=('f136761fc72ce7abcda5ed195c6757db6a3fe0b028c657a588f95aa503bb4528504
'6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285')
sha512sums+=(
+ '8d760b5b98d251638a397554405acd665df9926b3691afac96edc01442a571b626e463e66ce1cf0629f7a590c2178ea3ea8e749ab6f9840ae527831d76229ae5'
+ '2e337093ff4d8065e51f9329b7008ebf797a32a1dee2755fbe723a24563437a7bca6664ad5f107c3c174a678332a87225b2a36f0d8fcbf72a8f15902095923b3'
'30437d8ee92c5741fa50a7fe346ccfc48ba809dad0d740903a05a67781d23ea38a5094038a070a253e3fdd8046783b46a5420df6361bdd30cb229d3d88107569'
'3dcdbd523fcbe79b9e9e9b026b9d0a5edf296514c7b48bd465d2dc05a8ca08e23ba8817e2de08edfe52286a2a2f81db42b65f71254cabe496752b9d45131d282'
)
@@ -117,6 +121,8 @@ prepare() {
git remote set-url origin https://github.com/gloriouseggroll/wine-ge-custom.git
git submodule update --init --filter=tree:0 --recursive proton-wine
pushd proton-wine
+ patch -p1 -i "$srcdir"/0001-fshack-fix-image-corruption-on-ANV-and-HD-Graphics-6.patch
+ patch -p1 -i "$srcdir"/0002-fshack-mark-monitor-mode-structs-and-fsr-ratio-float.patch
patch -p1 -i "$srcdir"/wine-wmclass.patch
patch -p1 -i "$srcdir"/wine-isolate_home.patch
git config user.email "makepkg@aur.not"