- U_ReturnME.patch

* fixes blackscreen in Return To Monkey Island on Intel graphics
    (boo#1208145)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1193
This commit is contained in:
Stefan Dirsch 2023-02-10 14:17:31 +00:00 committed by Git OBS Bridge
parent 343a5d4738
commit 0454183bb3
3 changed files with 63 additions and 0 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Feb 10 14:06:56 UTC 2023 - Stefan Dirsch <sndirsch@suse.com>
- U_ReturnME.patch
* fixes blackscreen in Return To Monkey Island on Intel graphics
(boo#1208145)
-------------------------------------------------------------------
Thu Feb 9 10:39:08 UTC 2023 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -145,6 +145,7 @@ Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch
Patch200: u_fix-build-on-ppc64le.patch
Patch300: n_no-sse2-on-ix86-except-for-intel-drivers.patch
Patch400: n_stop-iris-flicker.patch
Patch500: U_ReturnME.patch
%ifarch %{ix86} x86_64
BuildRequires: DirectX-Headers
%endif
@ -790,6 +791,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%patch300 -p1
%endif
%patch400 -p1
%patch500 -p1
# Remove requires to vulkan libs from baselibs.conf on platforms
# where vulkan build is disabled; ugly ...

54
U_ReturnME.patch Normal file
View File

@ -0,0 +1,54 @@
From 8491b1fd5e7c97edc104a3ac3b8ece5464e652b0 Mon Sep 17 00:00:00 2001
From: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Date: Fri, 13 Jan 2023 20:54:44 +0200
Subject: [PATCH] ANV: Add extra memory types for ANV driver instead of a
single one
Some game engines can't handle single type well
And Intel on Windows uses 3 types so it's better to add extra one here
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7360
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20693>
---
src/intel/vulkan/anv_device.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index a2e5d2ba398f..40d8949f011a 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -509,14 +509,23 @@ anv_physical_device_init_heaps(struct anv_physical_device *device, int fd)
/* Big core GPUs share LLC with the CPU and thus one memory type can be
* both cached and coherent at the same time.
+ *
+ * But some game engines can't handle single type well
+ * https://gitlab.freedesktop.org/mesa/mesa/-/issues/7360#note_1719438
+ *
+ * And Intel on Windows uses 3 types so it's better to add extra one here
*/
- device->memory.type_count = 1;
+ device->memory.type_count = 2;
device->memory.types[0] = (struct anv_memory_type) {
- .propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
- VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
- VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
- VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
- .heapIndex = 0,
+ .propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
+ .heapIndex = 0,
+ };
+ device->memory.types[1] = (struct anv_memory_type) {
+ .propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
+ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
+ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
+ VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
+ .heapIndex = 0,
};
} else {
device->memory.heap_count = 1;
--
GitLab