Rebase against 329dfee70c35184329d0820a5e9edbbed8b49b37.

This commit is contained in:
Sebastian Lackner
2016-03-22 19:56:57 +01:00
parent f21c3bc221
commit f98cec7cf6
4 changed files with 32 additions and 35 deletions

View File

@@ -1,4 +1,4 @@
From ce91232e6d3e1dcb7b1571a9dfae76ea7a530757 Mon Sep 17 00:00:00 2001
From 27719db1f039616a553e64234ec887b5681ae3e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 20 Mar 2016 22:34:03 +0100
Subject: wined3d: Limit the vram memory to LONG_MAX only on 32 bit.
@@ -7,24 +7,21 @@ Unlike the author of the original patch pretends, this code also affects 64 bit
versions of Windows. Windows XP 64 bit uses 5.2 as verison number and is in
fact the default version used by Wine. This patch compiles the limitation only
on 32 bit and therefore does not affect a default 64 bit wine prefix when using
64 bit software. The original patch also didn't work on Windows 3.1 (3.10),
98 (4.10), ME (4.90) or NT 3.51 (3.51) due to the wrong version compare.
64 bit software.
---
dlls/wined3d/directx.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
dlls/wined3d/directx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index da66aac..c2b7583 100644
index f57f326..06f79ae 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1528,12 +1528,14 @@ static void init_driver_info(struct wined3d_driver_info *driver_info,
@@ -1533,11 +1533,13 @@ static void init_driver_info(struct wined3d_driver_info *driver_info,
* In order to avoid this application bug we limit the amount of video memory
* to LONG_MAX for older Windows versions.
*/
- if (os_version.dwMajorVersion <= 5 && os_version.dwMinorVersion <= 2
+#ifdef __i386__
+ if ((os_version.dwMajorVersion < 5 || (os_version.dwMajorVersion == 5 && os_version.dwMinorVersion <= 2))
&& driver_info->vram_bytes > LONG_MAX)
if (driver_model < DRIVER_MODEL_NT6X && driver_info->vram_bytes > LONG_MAX)
{
TRACE("Limiting amount of video memory to %#lx bytes for OS version older than Vista.\n", LONG_MAX);
driver_info->vram_bytes = LONG_MAX;