From f98cec7cf6e6e601717637787332e95b5c99158b Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 22 Mar 2016 19:56:57 +0100 Subject: [PATCH] Rebase against 329dfee70c35184329d0820a5e9edbbed8b49b37. --- patches/patchinstall.sh | 2 +- ...ort-for-DXTn-software-decoding-throu.patch | 24 +++++++++---------- ...DXTn-support-and-export-conversion-f.patch | 24 +++++++++---------- ...e-vram-memory-to-LONG_MAX-only-on-32.patch | 17 ++++++------- 4 files changed, 32 insertions(+), 35 deletions(-) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index cbe0c031..9c210175 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "bc357819296594aca300fdf30bb0cda46e9f0be0" + echo "329dfee70c35184329d0820a5e9edbbed8b49b37" } # Show version information diff --git a/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch b/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch index 3946c5f9..8323c365 100644 --- a/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch +++ b/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch @@ -1,4 +1,4 @@ -From 53359a295730c47e5f0537b6c21dfa84360fb0ef Mon Sep 17 00:00:00 2001 +From a6713e2781707331b3ceff9465ff01aa0a49b414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 20 Sep 2014 02:48:07 +0200 Subject: wined3d: Add support for DXTn software decoding through libtxc_dxtn. @@ -353,10 +353,10 @@ index 0000000..ce98949 + wine_dlclose(txc_dxtn_handle, NULL, 0); +} diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index e36e353..6bafee5 100644 +index c11d248..51085ad 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c -@@ -2234,6 +2234,66 @@ static void convert_yuy2_r5g6b5(const BYTE *src, BYTE *dst, +@@ -1729,6 +1729,66 @@ static void convert_yuy2_r5g6b5(const BYTE *src, BYTE *dst, } } @@ -423,7 +423,7 @@ index e36e353..6bafee5 100644 struct d3dfmt_converter_desc { enum wined3d_format_id from, to; -@@ -2250,6 +2310,20 @@ static const struct d3dfmt_converter_desc converters[] = +@@ -1745,6 +1805,20 @@ static const struct d3dfmt_converter_desc converters[] = {WINED3DFMT_YUY2, WINED3DFMT_B5G6R5_UNORM, convert_yuy2_r5g6b5}, }; @@ -444,7 +444,7 @@ index e36e353..6bafee5 100644 static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_format_id from, enum wined3d_format_id to) { -@@ -2261,6 +2335,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo +@@ -1756,6 +1830,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo return &converters[i]; } @@ -458,10 +458,10 @@ index e36e353..6bafee5 100644 } diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c -index 0543d97..4270f90 100644 +index 71dc180..fdb260e 100644 --- a/dlls/wined3d/wined3d_main.c +++ b/dlls/wined3d/wined3d_main.c -@@ -319,6 +319,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL) +@@ -330,6 +330,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL) if (appkey) RegCloseKey( appkey ); if (hkey) RegCloseKey( hkey ); @@ -470,7 +470,7 @@ index 0543d97..4270f90 100644 return TRUE; } -@@ -350,6 +352,9 @@ static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL) +@@ -361,6 +363,9 @@ static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL) DeleteCriticalSection(&wined3d_wndproc_cs); DeleteCriticalSection(&wined3d_cs); @@ -481,11 +481,11 @@ index 0543d97..4270f90 100644 } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index ea47bbf..dc6ce3f 100644 +index feb86d1..3596d00 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -3386,6 +3386,19 @@ static inline BOOL needs_srgb_write(const struct wined3d_context *context, - && fb->render_targets[0]->format_flags & WINED3DFMT_FLAG_SRGB_WRITE; +@@ -3434,6 +3434,19 @@ static inline BOOL needs_srgb_write(const struct wined3d_context *context, + && fb->render_targets[0] && fb->render_targets[0]->format_flags & WINED3DFMT_FLAG_SRGB_WRITE; } +BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out, @@ -505,5 +505,5 @@ index ea47bbf..dc6ce3f 100644 #define WINED3D_OPENGL_WINDOW_CLASS_NAME "WineD3D_OpenGL" -- -2.7.0 +2.7.1 diff --git a/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch b/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch index 2815fe5b..e294776b 100644 --- a/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch +++ b/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch @@ -1,4 +1,4 @@ -From d6cf97906b9728bf21d1e1426055bb57813ce23b Mon Sep 17 00:00:00 2001 +From 4480ebf8d1c6633f1a816e9c4e9a7ef909464212 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Tue, 4 Nov 2014 22:41:45 +0100 Subject: wined3d: Improve DXTn support and export conversion functions for @@ -153,10 +153,10 @@ index ce98949..77f7d55 100644 #undef LOAD_FUNCPTR diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index 6bafee5..66a6dc7 100644 +index 51085ad..b9e138a 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c -@@ -2246,6 +2246,30 @@ static void convert_dxt1_x8r8g8b8(const BYTE *src, BYTE *dst, +@@ -1741,6 +1741,30 @@ static void convert_dxt1_x8r8g8b8(const BYTE *src, BYTE *dst, wined3d_dxt1_decode(src, dst, pitch_in, pitch_out, WINED3DFMT_B8G8R8X8_UNORM, w, h); } @@ -187,7 +187,7 @@ index 6bafee5..66a6dc7 100644 static void convert_a8r8g8b8_dxt1(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out, unsigned int w, unsigned int h) { -@@ -2312,8 +2336,15 @@ static const struct d3dfmt_converter_desc converters[] = +@@ -1807,8 +1831,15 @@ static const struct d3dfmt_converter_desc converters[] = static const struct d3dfmt_converter_desc dxtn_converters[] = { @@ -204,10 +204,10 @@ index 6bafee5..66a6dc7 100644 {WINED3DFMT_B8G8R8X8_UNORM, WINED3DFMT_DXT1, convert_x8r8g8b8_dxt1}, {WINED3DFMT_B5G5R5A1_UNORM, WINED3DFMT_DXT1, convert_a1r5g5b5_dxt1}, diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec -index 4ec8336..8e0f06d 100644 +index 7c90d60..00bd34d 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec -@@ -271,3 +271,11 @@ +@@ -268,3 +268,11 @@ @ cdecl wined3d_vertex_declaration_decref(ptr) @ cdecl wined3d_vertex_declaration_get_parent(ptr) @ cdecl wined3d_vertex_declaration_incref(ptr) @@ -220,11 +220,11 @@ index 4ec8336..8e0f06d 100644 +@ cdecl wined3d_dxt5_decode(ptr ptr long long long long long) +@ cdecl wined3d_dxt5_encode(ptr ptr long long long long long) diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index dc6ce3f..8b2cdb2 100644 +index 3596d00..bad111f 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -3386,17 +3386,7 @@ static inline BOOL needs_srgb_write(const struct wined3d_context *context, - && fb->render_targets[0]->format_flags & WINED3DFMT_FLAG_SRGB_WRITE; +@@ -3434,17 +3434,7 @@ static inline BOOL needs_srgb_write(const struct wined3d_context *context, + && fb->render_targets[0] && fb->render_targets[0]->format_flags & WINED3DFMT_FLAG_SRGB_WRITE; } -BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out, @@ -242,10 +242,10 @@ index dc6ce3f..8b2cdb2 100644 /* The WNDCLASS-Name for the fake window which we use to retrieve the GL capabilities */ diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index afe28be..7b74ad1 100644 +index c681c78..8ff15ce 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -2587,4 +2587,18 @@ static inline unsigned int wined3d_log2i(unsigned int x) +@@ -2512,4 +2512,18 @@ static inline unsigned int wined3d_log2i(unsigned int x) #endif } @@ -265,5 +265,5 @@ index afe28be..7b74ad1 100644 + #endif /* __WINE_WINED3D_H */ -- -2.7.0 +2.7.1 diff --git a/patches/wined3d-Limit_Vram/0001-wined3d-Limit-the-vram-memory-to-LONG_MAX-only-on-32.patch b/patches/wined3d-Limit_Vram/0001-wined3d-Limit-the-vram-memory-to-LONG_MAX-only-on-32.patch index 22add33b..23395a51 100644 --- a/patches/wined3d-Limit_Vram/0001-wined3d-Limit-the-vram-memory-to-LONG_MAX-only-on-32.patch +++ b/patches/wined3d-Limit_Vram/0001-wined3d-Limit-the-vram-memory-to-LONG_MAX-only-on-32.patch @@ -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?= 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;