diff --git a/patches/d3d9-Tests/0003-d3d11-tests-Avoid-test-failures.patch b/patches/d3d9-Tests/0003-d3d11-tests-Avoid-test-failures.patch deleted file mode 100644 index c489bd65..00000000 --- a/patches/d3d9-Tests/0003-d3d11-tests-Avoid-test-failures.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 623008778ae6b9ebe5903d71f1e09abefca7ae65 Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Sat, 18 Feb 2017 21:50:33 +0100 -Subject: d3d11/tests: Avoid test failures. - ---- - dlls/d3d11/tests/d3d11.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index 8f37304b5e..64df74f671 100644 ---- a/dlls/d3d11/tests/d3d11.c -+++ b/dlls/d3d11/tests/d3d11.c -@@ -14609,8 +14609,10 @@ static void test_unaligned_raw_buffer_access(const D3D_FEATURE_LEVEL feature_lev - ID3D11DeviceContext_Dispatch(context, 1, 1, 1); - get_buffer_readback(raw_buffer, &rb); - data = get_readback_color(&rb, 0, 0); -+ todo_wine - ok(data == 0xffff, "Got unexpected result %#x.\n", data); - data = get_readback_color(&rb, 1, 0); -+ todo_wine - ok(data == 0xa, "Got unexpected result %#x.\n", data); - release_resource_readback(&rb); - --- -2.11.0 - diff --git a/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch b/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch index a68c3c8e..269e6f3c 100644 --- a/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch +++ b/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch @@ -1,4 +1,4 @@ -From 02f531e6fb014016869e1d7ba191b77551c349e7 Mon Sep 17 00:00:00 2001 +From 76daaa88f6a1ec55668fdb5a1abcc4ac31149976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Wed, 16 Aug 2017 02:45:23 +0200 Subject: kernelbase: Add semi-stub for PathCchCombineEx. @@ -19,11 +19,11 @@ Subject: kernelbase: Add semi-stub for PathCchCombineEx. create mode 100644 include/pathcch.h diff --git a/configure.ac b/configure.ac -index 44c7eed86f8..5c0bf350739 100644 +index 04091fc0ec9..4bd6bb35c8a 100644 --- a/configure.ac +++ b/configure.ac -@@ -3215,7 +3215,8 @@ WINE_CONFIG_DLL(jsproxy,,[implib]) - WINE_CONFIG_TEST(dlls/jsproxy/tests) +@@ -3235,7 +3235,8 @@ WINE_CONFIG_TEST(dlls/jsproxy/tests) + WINE_CONFIG_DLL(kerberos) WINE_CONFIG_DLL(kernel32,,[clean,implib]) WINE_CONFIG_TEST(dlls/kernel32/tests) -WINE_CONFIG_DLL(kernelbase) @@ -58,7 +58,7 @@ index 74df98ce2d5..247c6bf392a 100644 C_SRCS = \ main.c diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec -index 85b23237bbc..1ec67e37b0b 100644 +index 395b65839b8..f1745e00c89 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1037,7 +1037,7 @@ @@ -71,7 +71,7 @@ index 85b23237bbc..1ec67e37b0b 100644 # @ stub PathCchIsRoot # @ stub PathCchRemoveBackslash diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c -index ff1b2f67623..02d538e76b0 100644 +index b0a34786e2e..0410f38a122 100644 --- a/dlls/kernelbase/main.c +++ b/dlls/kernelbase/main.c @@ -19,7 +19,11 @@ @@ -86,7 +86,7 @@ index ff1b2f67623..02d538e76b0 100644 WINE_DEFAULT_DEBUG_CHANNEL(kernelbase); -@@ -57,3 +61,28 @@ BOOL WINAPI QuirkIsEnabled3(void *unk1, void *unk2) +@@ -83,3 +87,28 @@ BOOL WINAPI QuirkIsEnabled3(void *unk1, void *unk2) FIXME("(%p, %p) stub!\n", unk1, unk2); return FALSE; } @@ -290,5 +290,5 @@ index 00000000000..8831c5238d2 + +HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2, DWORD flags); -- -2.14.1 +2.14.2 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 871f8651..058b0c04 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "57ca6b90bb7337cb90465b3bf1f147e3d2564f2e" + echo "981dec4986e7ac1982049dbede1ca2aa72f5e70c" } # Show version information @@ -461,7 +461,6 @@ patch_enable_all () enable_wined3d_GTX_560M="$1" enable_wined3d_GenerateMips="$1" enable_wined3d_Indexed_Vertex_Blending="$1" - enable_wined3d_Interpolation_Modifiers="$1" enable_wined3d_Limit_Vram="$1" enable_wined3d_QUERY_Stubs="$1" enable_wined3d_Revert_Buffer_Upload="$1" @@ -1666,9 +1665,6 @@ patch_enable () wined3d-Indexed_Vertex_Blending) enable_wined3d_Indexed_Vertex_Blending="$2" ;; - wined3d-Interpolation_Modifiers) - enable_wined3d_Interpolation_Modifiers="$2" - ;; wined3d-Limit_Vram) enable_wined3d_Limit_Vram="$2" ;; @@ -2352,17 +2348,10 @@ if test "$enable_wined3d_GenerateMips" -eq 1; then if test "$enable_wined3d_Copy_Resource_Typeless" -gt 1; then abort "Patchset wined3d-Copy_Resource_Typeless disabled, but wined3d-GenerateMips depends on that." fi - if test "$enable_wined3d_Interpolation_Modifiers" -gt 1; then - abort "Patchset wined3d-Interpolation_Modifiers disabled, but wined3d-GenerateMips depends on that." + if test "$enable_wined3d_Dual_Source_Blending" -gt 1; then + abort "Patchset wined3d-Dual_Source_Blending disabled, but wined3d-GenerateMips depends on that." fi enable_wined3d_Copy_Resource_Typeless=1 - enable_wined3d_Interpolation_Modifiers=1 -fi - -if test "$enable_wined3d_Interpolation_Modifiers" -eq 1; then - if test "$enable_wined3d_Dual_Source_Blending" -gt 1; then - abort "Patchset wined3d-Dual_Source_Blending disabled, but wined3d-Interpolation_Modifiers depends on that." - fi enable_wined3d_Dual_Source_Blending=1 fi @@ -4148,16 +4137,14 @@ fi # Patchset d3d9-Tests # | # | Modified files: -# | * dlls/d3d11/tests/d3d11.c, dlls/d3d9/tests/device.c, dlls/d3d9/tests/visual.c +# | * dlls/d3d9/tests/device.c, dlls/d3d9/tests/visual.c # | if test "$enable_d3d9_Tests" -eq 1; then patch_apply d3d9-Tests/0001-d3d9-tests-Avoid-test-failures-on-specific-Nvidia-graphic-.patch patch_apply d3d9-Tests/0002-d3d9-tests-Avoid-crash-when-surface-and-texture-crea.patch - patch_apply d3d9-Tests/0003-d3d11-tests-Avoid-test-failures.patch ( printf '%s\n' '+ { "Sebastian Lackner", "d3d9/tests: Avoid test failures on specific Nvidia graphic cards.", 1 },'; printf '%s\n' '+ { "Christian Costa", "d3d9/tests: Avoid crash when surface and texture creation fails.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "d3d11/tests: Avoid test failures.", 1 },'; ) >> "$patchlist" fi @@ -9820,36 +9807,11 @@ if test "$enable_wined3d_Dual_Source_Blending" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-Interpolation_Modifiers -# | -# | This patchset has the following (direct or indirect) dependencies: -# | * d3d11-Depth_Bias, wined3d-Core_Context, wined3d-Viewports, wined3d-Dual_Source_Blending -# | -# | This patchset fixes the following Wine bugs: -# | * [#43239] Implement support for interpolation modifiers in sm4/sm5 pixel shaders -# | -# | Modified files: -# | * dlls/d3d11/tests/d3d11.c, dlls/wined3d/directx.c, dlls/wined3d/glsl_shader.c, dlls/wined3d/shader.c, -# | dlls/wined3d/wined3d_private.h -# | -if test "$enable_wined3d_Interpolation_Modifiers" -eq 1; then - patch_apply wined3d-Interpolation_Modifiers/0001-d3d11-tests-Add-test-for-nointerpolation-modifier.patch - patch_apply wined3d-Interpolation_Modifiers/0002-wined3d-Unroll-vertex-geometry-shader-outputs-and-pi.patch - patch_apply wined3d-Interpolation_Modifiers/0003-wined3d-Add-support-for-interpolation-modifiers-in-s.patch - patch_apply wined3d-Interpolation_Modifiers/0004-wined3d-Add-quirk-for-broken-auxiliary-qualifier-mat.patch - ( - printf '%s\n' '+ { "Michael Müller", "d3d11/tests: Add test for nointerpolation modifier.", 1 },'; - printf '%s\n' '+ { "Józef Kucia", "wined3d: Unroll vertex / geometry shader outputs and pixel shader inputs for >= sm4.", 1 },'; - printf '%s\n' '+ { "Józef Kucia", "wined3d: Add support for interpolation modifiers in sm4/sm5 pixel shader inputs.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "wined3d: Add quirk for broken auxiliary qualifier matching.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-GenerateMips # | # | This patchset has the following (direct or indirect) dependencies: # | * d3d11-Depth_Bias, wined3d-1DTextures, wined3d-Copy_Resource_Typeless, wined3d-Core_Context, wined3d-Viewports, wined3d- -# | Dual_Source_Blending, wined3d-Interpolation_Modifiers +# | Dual_Source_Blending # | # | Modified files: # | * dlls/d3d11/device.c, dlls/d3d11/tests/d3d11.c, dlls/wined3d/cs.c, dlls/wined3d/device.c, dlls/wined3d/texture.c, @@ -9929,8 +9891,8 @@ fi # | * d3d11-ResolveSubresource, wined3d-1DTextures, d3d11-Deferred_Context, d3d9-Tests, makedep-PARENTSPEC, ntdll- # | Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects, wined3d-Accounting, # | d3d11-Depth_Bias, wined3d-Copy_Resource_Typeless, wined3d-DXTn, wined3d-Core_Context, wined3d-Viewports, wined3d- -# | Dual_Source_Blending, wined3d-Interpolation_Modifiers, wined3d-GenerateMips, wined3d-QUERY_Stubs, wined3d- -# | Revert_Buffer_Upload, wined3d-Silence_FIXMEs, wined3d-UAV_Counters +# | Dual_Source_Blending, wined3d-GenerateMips, wined3d-QUERY_Stubs, wined3d-Revert_Buffer_Upload, wined3d-Silence_FIXMEs, +# | wined3d-UAV_Counters # | # | Modified files: # | * configure.ac, dlls/wined3d-csmt/Makefile.in, dlls/wined3d-csmt/version.rc @@ -10152,8 +10114,8 @@ fi # | * d3d11-ResolveSubresource, wined3d-1DTextures, d3d11-Deferred_Context, d3d9-Tests, makedep-PARENTSPEC, ntdll- # | Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects, wined3d-Accounting, # | d3d11-Depth_Bias, wined3d-Copy_Resource_Typeless, wined3d-DXTn, wined3d-Core_Context, wined3d-Viewports, wined3d- -# | Dual_Source_Blending, wined3d-Interpolation_Modifiers, wined3d-GenerateMips, wined3d-QUERY_Stubs, wined3d- -# | Revert_Buffer_Upload, wined3d-Silence_FIXMEs, wined3d-UAV_Counters, wined3d-CSMT_Helper +# | Dual_Source_Blending, wined3d-GenerateMips, wined3d-QUERY_Stubs, wined3d-Revert_Buffer_Upload, wined3d-Silence_FIXMEs, +# | wined3d-UAV_Counters, wined3d-CSMT_Helper # | # | This patchset fixes the following Wine bugs: # | * [#11674] Support for CSMT (command stream) to increase graphic performance diff --git a/patches/uxtheme-GTK_Theming/0001-uxthemegtk-Add-configure-check-and-stub-dll.patch b/patches/uxtheme-GTK_Theming/0001-uxthemegtk-Add-configure-check-and-stub-dll.patch index 7a13fc20..f159c6e5 100644 --- a/patches/uxtheme-GTK_Theming/0001-uxthemegtk-Add-configure-check-and-stub-dll.patch +++ b/patches/uxtheme-GTK_Theming/0001-uxthemegtk-Add-configure-check-and-stub-dll.patch @@ -1,4 +1,4 @@ -From 4bf69c6742053c02538bc0a46204701699802cf5 Mon Sep 17 00:00:00 2001 +From 6ac2abea561f3cb10dad4dc39ab758180b440423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 9 Aug 2015 02:38:18 +0200 Subject: uxthemegtk: Add configure check and stub dll. @@ -20,7 +20,7 @@ List of functions updated by Ivan Akulinchev . create mode 100644 dlls/uxtheme-gtk/version.rc diff --git a/aclocal.m4 b/aclocal.m4 -index e236c92..4bbf44e 100644 +index 9364188e334..ad6a4f50fca 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -109,6 +109,26 @@ test -z "$ac_libs" || ac_libs=`echo " $ac_libs" | sed 's/ -L\([[^/]]\)/ -L\$(top @@ -51,7 +51,7 @@ index e236c92..4bbf44e 100644 dnl dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]]) diff --git a/configure.ac b/configure.ac -index bfcf319..97aa018 100644 +index 735dec3cc72..5bd9a75fa18 100644 --- a/configure.ac +++ b/configure.ac @@ -54,6 +54,7 @@ AC_ARG_WITH(gnutls, AS_HELP_STRING([--without-gnutls],[do not use GnuTLS (sch @@ -61,8 +61,8 @@ index bfcf319..97aa018 100644 +AC_ARG_WITH(gtk3, AS_HELP_STRING([--without-gtk3],[do not use gtk3 (gtk3 theming support)])) AC_ARG_WITH(hal, AS_HELP_STRING([--without-hal],[do not use HAL (dynamic device support)])) AC_ARG_WITH(jpeg, AS_HELP_STRING([--without-jpeg],[do not use JPEG])) - AC_ARG_WITH(ldap, AS_HELP_STRING([--without-ldap],[do not use LDAP]), -@@ -1487,6 +1488,26 @@ fi + AC_ARG_WITH(krb5, AS_HELP_STRING([--without-krb5],[do not use krb5 (Kerberos)])) +@@ -1418,6 +1419,26 @@ fi WINE_NOTICE_WITH(cms,[test "$ac_cv_lib_lcms2_cmsOpenProfileFromFile" != "yes"], [liblcms2 ${notice_platform}development files not found, Color Management won't be supported.]) @@ -89,7 +89,7 @@ index bfcf319..97aa018 100644 dnl **** Check for FreeType 2 **** if test "x$with_freetype" != "xno" then -@@ -3356,6 +3377,7 @@ WINE_CONFIG_TEST(dlls/userenv/tests) +@@ -3554,6 +3575,7 @@ WINE_CONFIG_TEST(dlls/userenv/tests) WINE_CONFIG_DLL(usp10,,[implib]) WINE_CONFIG_TEST(dlls/usp10/tests) WINE_CONFIG_LIB(uuid) @@ -99,7 +99,7 @@ index bfcf319..97aa018 100644 WINE_CONFIG_DLL(vbscript,,[clean]) diff --git a/dlls/uxtheme-gtk/Makefile.in b/dlls/uxtheme-gtk/Makefile.in new file mode 100644 -index 0000000..07cf3a0f +index 00000000000..07cf3a0fb57 --- /dev/null +++ b/dlls/uxtheme-gtk/Makefile.in @@ -0,0 +1,7 @@ @@ -112,14 +112,14 @@ index 0000000..07cf3a0f +RC_SRCS = version.rc diff --git a/dlls/uxtheme-gtk/uxtheme-gtk.spec b/dlls/uxtheme-gtk/uxtheme-gtk.spec new file mode 100644 -index 0000000..b7db254 +index 00000000000..b7db25411d0 --- /dev/null +++ b/dlls/uxtheme-gtk/uxtheme-gtk.spec @@ -0,0 +1 @@ +# Empty diff --git a/dlls/uxtheme-gtk/uxtheme.c b/dlls/uxtheme-gtk/uxtheme.c new file mode 100644 -index 0000000..cd5e3c0 +index 00000000000..cd5e3c04cf1 --- /dev/null +++ b/dlls/uxtheme-gtk/uxtheme.c @@ -0,0 +1,218 @@ @@ -343,7 +343,7 @@ index 0000000..cd5e3c0 +} diff --git a/dlls/uxtheme-gtk/uxthemegtk.h b/dlls/uxtheme-gtk/uxthemegtk.h new file mode 100644 -index 0000000..42e4784 +index 00000000000..42e47840878 --- /dev/null +++ b/dlls/uxtheme-gtk/uxthemegtk.h @@ -0,0 +1,88 @@ @@ -437,7 +437,7 @@ index 0000000..42e4784 +#endif /* UXTHEMEGTK_H */ diff --git a/dlls/uxtheme-gtk/version.rc b/dlls/uxtheme-gtk/version.rc new file mode 100644 -index 0000000..38db521 +index 00000000000..38db52103be --- /dev/null +++ b/dlls/uxtheme-gtk/version.rc @@ -0,0 +1,21 @@ @@ -463,5 +463,5 @@ index 0000000..38db521 + +#include -- -2.6.1 +2.14.2 diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index df01cd57..e65bf31d 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -619,7 +619,7 @@ diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -2851,6 +2851,16 @@ static inline BOOL wined3d_dualblend_enabled(const struct wined3d_state *state, +@@ -2860,6 +2860,16 @@ static inline BOOL wined3d_dualblend_enabled(const struct wined3d_state *state, return FALSE; } @@ -636,7 +636,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h #define WINED3D_UNMAPPED_STAGE ~0u /* Multithreaded flag. Removed from the public header to signal that -@@ -2962,6 +2972,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL +@@ -2971,6 +2981,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN; void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN; void device_invalidate_state(const struct wined3d_device *device, DWORD state) DECLSPEC_HIDDEN; @@ -649,7 +649,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state) { -@@ -3149,7 +3165,11 @@ struct wined3d_texture +@@ -3158,7 +3174,11 @@ struct wined3d_texture unsigned int map_count; DWORD locations; @@ -661,7 +661,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h } sub_resources[1]; }; -@@ -3465,6 +3485,9 @@ struct wined3d_cs_queue +@@ -3474,6 +3494,9 @@ struct wined3d_cs_queue struct wined3d_cs_ops { diff --git a/patches/wined3d-Dual_Source_Blending/0001-wined3d-Unroll-glsl-pixel-shader-output.patch b/patches/wined3d-Dual_Source_Blending/0001-wined3d-Unroll-glsl-pixel-shader-output.patch index 0e7121ef..e47bca2d 100644 --- a/patches/wined3d-Dual_Source_Blending/0001-wined3d-Unroll-glsl-pixel-shader-output.patch +++ b/patches/wined3d-Dual_Source_Blending/0001-wined3d-Unroll-glsl-pixel-shader-output.patch @@ -1,4 +1,4 @@ -From a69ce71584c83365fd9be94b5faef8d96937fa06 Mon Sep 17 00:00:00 2001 +From af9d21408075476f71d8f4d85d4c378227643566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 18 Aug 2017 19:55:37 +0200 Subject: wined3d: Unroll glsl pixel shader output. @@ -8,11 +8,11 @@ Subject: wined3d: Unroll glsl pixel shader output. 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 0f2f3052ec1..02f9fc1c7d1 100644 +index a03f1792272..c8b35fb8af5 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c -@@ -2142,11 +2142,6 @@ static void shader_glsl_declare_shader_outputs(const struct wined3d_gl_info *gl_ - declare_out_varying(gl_info, buffer, FALSE, "vec4 ps_link[%u];\n", element_count); +@@ -2213,11 +2213,6 @@ static void shader_glsl_declare_shader_outputs(const struct wined3d_gl_info *gl_ + } } -static const char *get_fragment_output(const struct wined3d_gl_info *gl_info) @@ -23,7 +23,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 static const char *glsl_primitive_type_from_d3d(enum wined3d_primitive_type primitive_type) { switch (primitive_type) -@@ -2904,7 +2899,8 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * +@@ -2969,7 +2964,8 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * WARN("Write to render target %u, only %d supported.\n", reg->idx[0].offset, gl_info->limits.buffers); @@ -33,7 +33,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 break; case WINED3DSPR_RASTOUT: -@@ -7153,20 +7149,20 @@ static void shader_glsl_generate_patch_constant_setup(struct wined3d_string_buff +@@ -7175,20 +7171,20 @@ static void shader_glsl_generate_patch_constant_setup(struct wined3d_string_buff static void shader_glsl_generate_srgb_write_correction(struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info) { @@ -61,7 +61,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 switch (mode) { -@@ -7191,13 +7187,15 @@ static void shader_glsl_generate_fog_code(struct wined3d_string_buffer *buffer, +@@ -7213,13 +7209,15 @@ static void shader_glsl_generate_fog_code(struct wined3d_string_buffer *buffer, return; } @@ -78,7 +78,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 /* alpha_func is the PASS condition, not the DISCARD condition. Instead of * flipping all the operators here, just negate the comparison below. */ static const char * const comparison_operator[] = -@@ -7216,8 +7214,8 @@ static void shader_glsl_generate_alpha_test(struct wined3d_string_buffer *buffer +@@ -7238,8 +7236,8 @@ static void shader_glsl_generate_alpha_test(struct wined3d_string_buffer *buffer return; if (alpha_func != WINED3D_CMP_NEVER) @@ -89,7 +89,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 shader_addline(buffer, " discard;\n"); } -@@ -7259,10 +7257,11 @@ static void shader_glsl_generate_ps_epilogue(const struct wined3d_gl_info *gl_in +@@ -7281,10 +7279,11 @@ static void shader_glsl_generate_ps_epilogue(const struct wined3d_gl_info *gl_in const struct ps_compile_args *args) { const struct wined3d_shader_reg_maps *reg_maps = &shader->reg_maps; @@ -102,7 +102,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 if (args->srgb_correction) shader_glsl_generate_srgb_write_correction(buffer, gl_info); -@@ -7451,9 +7450,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7474,9 +7473,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context if (!needs_legacy_glsl_syntax(gl_info)) { @@ -118,7 +118,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 } if (shader->limits->constant_float + extra_constants_needed >= gl_info->limits.glsl_ps_float_constants) -@@ -9017,6 +9019,7 @@ static void shader_glsl_ffp_fragment_op(struct wined3d_string_buffer *buffer, un +@@ -9042,6 +9044,7 @@ static void shader_glsl_ffp_fragment_op(struct wined3d_string_buffer *buffer, un static GLuint shader_glsl_generate_ffp_fragment_shader(struct shader_glsl_priv *priv, const struct ffp_frag_settings *settings, const struct wined3d_context *context) { @@ -126,7 +126,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 struct wined3d_string_buffer *tex_reg_name = string_buffer_get(&priv->string_buffers); enum wined3d_cmp_func alpha_test_func = settings->alpha_test_func + 1; struct wined3d_string_buffer *buffer = &priv->shader_buffer; -@@ -9105,7 +9108,7 @@ static GLuint shader_glsl_generate_ffp_fragment_shader(struct shader_glsl_priv * +@@ -9130,7 +9133,7 @@ static GLuint shader_glsl_generate_ffp_fragment_shader(struct shader_glsl_priv * { if (shader_glsl_use_explicit_attrib_location(gl_info)) shader_addline(buffer, "layout(location = 0) "); @@ -135,7 +135,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 } shader_addline(buffer, "vec4 tmp0, tmp1;\n"); -@@ -9436,8 +9439,7 @@ static GLuint shader_glsl_generate_ffp_fragment_shader(struct shader_glsl_priv * +@@ -9461,8 +9464,7 @@ static GLuint shader_glsl_generate_ffp_fragment_shader(struct shader_glsl_priv * } } @@ -145,7 +145,7 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 if (settings->sRGB_write) shader_glsl_generate_srgb_write_correction(buffer, gl_info); -@@ -9981,8 +9983,14 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const +@@ -10006,8 +10008,14 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const if (!needs_legacy_glsl_syntax(gl_info)) { @@ -163,5 +163,5 @@ index 0f2f3052ec1..02f9fc1c7d1 100644 } -- -2.14.1 +2.14.2 diff --git a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch index 801cbad0..46cc06c4 100644 --- a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch +++ b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch @@ -1,4 +1,4 @@ -From acba6f8004815b8791856edf61c9591ad73e152b Mon Sep 17 00:00:00 2001 +From 7f5c55d18e90dad797a1628c12a7a40b39408767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 18 Aug 2017 23:51:59 +0200 Subject: wined3d: Implement dual source blending. @@ -14,10 +14,10 @@ Subject: wined3d: Implement dual source blending. 7 files changed, 91 insertions(+), 16 deletions(-) diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index fbc802b7aca..ce204bd3a0e 100644 +index ca7e0f9f020..99f6fb9f072 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -21580,7 +21580,7 @@ static void test_dual_blending(void) +@@ -21885,7 +21885,7 @@ static void test_dual_blending(void) ID3D11DeviceContext_ClearRenderTargetView(context, rtv[1], white); ID3D11DeviceContext_Draw(context, 3, 0); @@ -49,10 +49,10 @@ index a2c0ba4080c..2ef75cf458b 100644 i = 0; while (rt_mask_bits) diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c -index baf6d810161..5576101f409 100644 +index 9cf0ddd95e0..9f9421720ae 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c -@@ -3502,6 +3502,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) +@@ -3505,6 +3505,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) gl_info->limits.buffers = gl_max; TRACE("Max draw buffers: %u.\n", gl_max); } @@ -65,7 +65,7 @@ index baf6d810161..5576101f409 100644 if (gl_info->supported[ARB_MULTITEXTURE]) { if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]) -@@ -4265,6 +4271,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, +@@ -4268,6 +4274,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, for (i = 0; i < gl_info->limits.buffers; ++i) adapter->d3d_info.valid_rt_mask |= (1u << i); @@ -77,10 +77,10 @@ index baf6d810161..5576101f409 100644 { /* We do not want to deal with re-creating immutable texture storage for color keying emulation. */ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 04e2b734163..33f179170a2 100644 +index c8b35fb8af5..94423ffbdcb 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c -@@ -2887,6 +2887,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * +@@ -2960,6 +2960,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * break; case WINED3DSPR_COLOROUT: @@ -88,7 +88,7 @@ index 04e2b734163..33f179170a2 100644 if (reg->idx[0].offset >= gl_info->limits.buffers) WARN("Write to render target %u, only %d supported.\n", reg->idx[0].offset, gl_info->limits.buffers); -@@ -7396,11 +7397,23 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7473,11 +7474,23 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context if (!needs_legacy_glsl_syntax(gl_info)) { @@ -116,7 +116,7 @@ index 04e2b734163..33f179170a2 100644 } } -@@ -9929,13 +9942,25 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const +@@ -10008,13 +10021,25 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const if (!needs_legacy_glsl_syntax(gl_info)) { @@ -149,10 +149,10 @@ index 04e2b734163..33f179170a2 100644 } } diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index 02880b0339f..06f8b0a5e74 100644 +index f80467b46d0..1583bcfde24 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c -@@ -3937,6 +3937,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 +@@ -3987,6 +3987,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 args->render_offscreen = shader->reg_maps.vpos && gl_info->supported[ARB_FRAGMENT_COORD_CONVENTIONS] ? context->render_offscreen : 0; @@ -162,7 +162,7 @@ index 02880b0339f..06f8b0a5e74 100644 static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_device *device, diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index 53be418a623..466db666fd0 100644 +index cb652c24579..3f5673bfccf 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -472,12 +472,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st @@ -205,10 +205,10 @@ index 53be418a623..466db666fd0 100644 state->render_states[WINED3D_RS_SRCBLEND], state->render_states[WINED3D_RS_DESTBLEND], rt_format); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 4fca08dbdb7..2d30d748393 100644 +index fad3fadeeaa..aca97788f0e 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -191,6 +191,7 @@ struct wined3d_d3d_info +@@ -193,6 +193,7 @@ struct wined3d_d3d_info BOOL vs_clipping; BOOL shader_color_key; DWORD valid_rt_mask; @@ -216,7 +216,7 @@ index 4fca08dbdb7..2d30d748393 100644 DWORD wined3d_creation_flags; BOOL shader_double_precision; }; -@@ -1339,7 +1340,8 @@ struct ps_compile_args { +@@ -1346,7 +1347,8 @@ struct ps_compile_args DWORD flatshading : 1; DWORD alpha_test_func : 3; DWORD render_offscreen : 1; @@ -225,8 +225,8 @@ index 4fca08dbdb7..2d30d748393 100644 + DWORD padding : 25; }; - enum fog_src_type { -@@ -1861,7 +1863,8 @@ struct wined3d_context + enum fog_src_type +@@ -1872,7 +1874,8 @@ struct wined3d_context DWORD destroy_delayed : 1; DWORD transform_feedback_active : 1; DWORD transform_feedback_paused : 1; @@ -236,7 +236,7 @@ index 4fca08dbdb7..2d30d748393 100644 DWORD last_swizzle_map; /* MAX_ATTRIBS, 16 */ DWORD shader_update_mask; DWORD constant_update_mask; -@@ -2465,6 +2468,7 @@ struct wined3d_fbo_ops +@@ -2476,6 +2479,7 @@ struct wined3d_fbo_ops struct wined3d_gl_limits { UINT buffers; @@ -244,7 +244,7 @@ index 4fca08dbdb7..2d30d748393 100644 UINT lights; UINT textures; UINT texture_coords; -@@ -2799,6 +2803,22 @@ struct wined3d_state +@@ -2810,6 +2814,22 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -268,5 +268,5 @@ index 4fca08dbdb7..2d30d748393 100644 /* Multithreaded flag. Removed from the public header to signal that -- -2.14.1 +2.14.2 diff --git a/patches/wined3d-GenerateMips/0001-d3d11-tests-Add-basic-test-for-mipmap-level-generati.patch b/patches/wined3d-GenerateMips/0001-d3d11-tests-Add-basic-test-for-mipmap-level-generati.patch index ab97f43c..6616c941 100644 --- a/patches/wined3d-GenerateMips/0001-d3d11-tests-Add-basic-test-for-mipmap-level-generati.patch +++ b/patches/wined3d-GenerateMips/0001-d3d11-tests-Add-basic-test-for-mipmap-level-generati.patch @@ -1,4 +1,4 @@ -From 36521fb8d471b34993598a6e83b873d2d887e9ed Mon Sep 17 00:00:00 2001 +From 11060b421e2879d9307be95cba69117d6adf69aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 16 Sep 2017 05:13:04 +0200 Subject: d3d11/tests: Add basic test for mipmap level generation. @@ -8,10 +8,10 @@ Subject: d3d11/tests: Add basic test for mipmap level generation. 1 file changed, 111 insertions(+) diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index f6bb69e834b..154771f4240 100644 +index 3c8ff15d6eb..0dc1c94d883 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -22646,6 +22646,116 @@ static void test_interpolation(void) +@@ -22062,6 +22062,116 @@ static void test_dual_blending(void) release_test_context(&test_context); } @@ -128,12 +128,12 @@ index f6bb69e834b..154771f4240 100644 START_TEST(d3d11) { test_create_device(); -@@ -22752,4 +22862,5 @@ START_TEST(d3d11) +@@ -22167,4 +22277,5 @@ START_TEST(d3d11) + test_early_depth_stencil(); test_conservative_depth_output(); test_dual_blending(); - test_interpolation(); + test_mipmap_generation(); } -- -2.14.1 +2.14.2 diff --git a/patches/wined3d-GenerateMips/definition b/patches/wined3d-GenerateMips/definition index bc28ec4b..f79a34bb 100644 --- a/patches/wined3d-GenerateMips/definition +++ b/patches/wined3d-GenerateMips/definition @@ -1,3 +1,3 @@ Fixes: Support for GenerateMips -Depends: wined3d-Interpolation_Modifiers Depends: wined3d-Copy_Resource_Typeless +Depends: wined3d-Dual_Source_Blending diff --git a/patches/wined3d-Interpolation_Modifiers/0001-d3d11-tests-Add-test-for-nointerpolation-modifier.patch b/patches/wined3d-Interpolation_Modifiers/0001-d3d11-tests-Add-test-for-nointerpolation-modifier.patch index 23d8079f..9fe7650c 100644 --- a/patches/wined3d-Interpolation_Modifiers/0001-d3d11-tests-Add-test-for-nointerpolation-modifier.patch +++ b/patches/wined3d-Interpolation_Modifiers/0001-d3d11-tests-Add-test-for-nointerpolation-modifier.patch @@ -1,4 +1,4 @@ -From bf007492515532cf1b5d8a468e2363fbaad931fd Mon Sep 17 00:00:00 2001 +From 2956c590a5d4c5cc205e94b1e2f31be1f71c9350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 8 Sep 2017 00:06:15 +0200 Subject: d3d11/tests: Add test for nointerpolation modifier. @@ -8,10 +8,10 @@ Subject: d3d11/tests: Add test for nointerpolation modifier. 1 file changed, 195 insertions(+) diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index bdd542651c0..1fdf26715b0 100644 +index 7df2d3789a4..63188c4fe89 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -21609,6 +21609,200 @@ static void test_dual_blending(void) +@@ -22867,6 +22867,200 @@ static void test_mipmap_generation(void) release_test_context(&test_context); } @@ -184,21 +184,21 @@ index bdd542651c0..1fdf26715b0 100644 + color = get_texture_color(render_target, 640, 0); + ok(compare_color(color, 0xffffffff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 320, 2); -+ todo_wine ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); ++ ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 0, 479); + ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 639, 479); -+ todo_wine ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); ++ ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 319, 479); -+ todo_wine ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); ++ ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 319, 400); -+ todo_wine ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); ++ ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 319, 200); -+ todo_wine ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); ++ ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 350, 300); -+ todo_wine ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); ++ ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(render_target, 320, 300); -+ todo_wine ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); ++ ok(compare_color(color, 0xff0000ff, 1), "Got unexpected color 0x%08x.\n", color); + + ID3D11InputLayout_Release(input_layout); + ID3D11RenderTargetView_Release(rtv[1]); @@ -212,12 +212,12 @@ index bdd542651c0..1fdf26715b0 100644 START_TEST(d3d11) { test_create_device(); -@@ -21712,4 +21906,5 @@ START_TEST(d3d11) - test_early_depth_stencil(); +@@ -22975,4 +23169,5 @@ START_TEST(d3d11) test_conservative_depth_output(); test_dual_blending(); + test_mipmap_generation(); + test_interpolation(); } -- -2.14.1 +2.14.2 diff --git a/patches/wined3d-Interpolation_Modifiers/definition b/patches/wined3d-Interpolation_Modifiers/definition index 717e122b..a550683c 100644 --- a/patches/wined3d-Interpolation_Modifiers/definition +++ b/patches/wined3d-Interpolation_Modifiers/definition @@ -1,2 +1,3 @@ Fixes: [43239] Implement support for interpolation modifiers in sm4/sm5 pixel shaders Depends: wined3d-Dual_Source_Blending +Disabled: true