diff --git a/patches/kernel32-MoveFile/0001-kernel32-tests-Fix-compilation-with-PSDK.patch b/patches/kernel32-MoveFile/0001-kernel32-tests-Fix-compilation-with-PSDK.patch index cb063b1a..821ecea5 100644 --- a/patches/kernel32-MoveFile/0001-kernel32-tests-Fix-compilation-with-PSDK.patch +++ b/patches/kernel32-MoveFile/0001-kernel32-tests-Fix-compilation-with-PSDK.patch @@ -1,14 +1,14 @@ -From f77e3080ec1b930e5ad669fb863d03330f956afc Mon Sep 17 00:00:00 2001 +From b7caf681c5fca6f1f6b1e089fc2ecddc47052820 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 15 Nov 2016 12:41:46 +0800 -Subject: kernel32/tests: Fix compilation with PSDK. +Subject: [PATCH] kernel32/tests: Fix compilation with PSDK. --- dlls/kernel32/tests/file.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c -index 5d21343..464da86 100644 +index 19c1c7a..19e7148 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c @@ -38,9 +38,7 @@ @@ -21,16 +21,16 @@ index 5d21343..464da86 100644 static HANDLE (WINAPI *pFindFirstFileExA)(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD); static BOOL (WINAPI *pReplaceFileA)(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID); -@@ -60,6 +58,8 @@ static NTSTATUS (WINAPI *pNtCreateFile)(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES - static BOOL (WINAPI *pRtlDosPathNameToNtPathName_U)(LPCWSTR, PUNICODE_STRING, PWSTR*, CURDIR*); +@@ -61,6 +59,8 @@ static BOOL (WINAPI *pRtlDosPathNameToNtPathName_U)(LPCWSTR, PUNICODE_STRING, PW static NTSTATUS (WINAPI *pRtlAnsiStringToUnicodeString)(PUNICODE_STRING, PCANSI_STRING, BOOLEAN); static BOOL (WINAPI *pSetFileInformationByHandle)(HANDLE, FILE_INFO_BY_HANDLE_CLASS, void*, DWORD); + static BOOL (WINAPI *pGetQueuedCompletionStatusEx)(HANDLE, OVERLAPPED_ENTRY*, ULONG, ULONG*, DWORD, BOOL); +static void (WINAPI *pRtlInitAnsiString)(PANSI_STRING,PCSZ); +static void (WINAPI *pRtlFreeUnicodeString)(PUNICODE_STRING); static const char filename[] = "testfile.xxx"; static const char sillytext[] = -@@ -90,6 +90,8 @@ static void InitFunctionPointers(void) +@@ -91,6 +91,8 @@ static void InitFunctionPointers(void) pNtCreateFile = (void *)GetProcAddress(hntdll, "NtCreateFile"); pRtlDosPathNameToNtPathName_U = (void *)GetProcAddress(hntdll, "RtlDosPathNameToNtPathName_U"); pRtlAnsiStringToUnicodeString = (void *)GetProcAddress(hntdll, "RtlAnsiStringToUnicodeString"); @@ -39,7 +39,7 @@ index 5d21343..464da86 100644 pFindFirstFileExA=(void*)GetProcAddress(hkernel32, "FindFirstFileExA"); pReplaceFileA=(void*)GetProcAddress(hkernel32, "ReplaceFileA"); -@@ -268,7 +270,8 @@ static void get_nt_pathW( const char *name, UNICODE_STRING *nameW ) +@@ -270,7 +272,8 @@ static void get_nt_pathW( const char *name, UNICODE_STRING *nameW ) ANSI_STRING str; NTSTATUS status; BOOLEAN ret; @@ -49,7 +49,7 @@ index 5d21343..464da86 100644 status = pRtlAnsiStringToUnicodeString( &strW, &str, TRUE ); ok( !status, "RtlAnsiStringToUnicodeString failed with %08x\n", status ); -@@ -276,7 +279,7 @@ static void get_nt_pathW( const char *name, UNICODE_STRING *nameW ) +@@ -278,7 +281,7 @@ static void get_nt_pathW( const char *name, UNICODE_STRING *nameW ) ret = pRtlDosPathNameToNtPathName_U( strW.Buffer, nameW, NULL, NULL ); ok( ret, "RtlDosPathNameToNtPathName_U failed\n" ); @@ -58,7 +58,7 @@ index 5d21343..464da86 100644 } static void test__lcreat( void ) -@@ -352,30 +355,30 @@ static void test__lcreat( void ) +@@ -354,30 +357,30 @@ static void test__lcreat( void ) attr.SecurityDescriptor = NULL; attr.SecurityQualityOfService = NULL; @@ -94,7 +94,7 @@ index 5d21343..464da86 100644 todo_wine ok( GetFileAttributesA( filename ) != INVALID_FILE_ATTRIBUTES, "file was deleted\n" ); -@@ -4722,7 +4725,7 @@ static void test_SetFileInformationByHandle(void) +@@ -4999,7 +5002,7 @@ static void test_SetFileInformationByHandle(void) { FILE_ATTRIBUTE_TAG_INFO fileattrinfo = { 0 }; FILE_REMOTE_PROTOCOL_INFO protinfo = { 0 }; @@ -104,5 +104,5 @@ index 5d21343..464da86 100644 FILE_DISPOSITION_INFO dispinfo; char tempFileName[MAX_PATH]; -- -2.9.0 +1.9.1 diff --git a/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch b/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch index e4a3bb4f..359cb86c 100644 --- a/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch +++ b/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch @@ -1,18 +1,18 @@ -From 3b075f8bd5e11c89d3c5c86350a492b21a8f2437 Mon Sep 17 00:00:00 2001 +From c23cf737de05828c95cdd70c8455cb1e6c28fd62 Mon Sep 17 00:00:00 2001 From: Qian Hong Date: Fri, 17 Apr 2015 00:59:02 +0800 -Subject: ntdll/tests: Added tests to set disposition on file which is mapped - to memory +Subject: [PATCH] ntdll/tests: Added tests to set disposition on file which is + mapped to memory --- dlls/ntdll/tests/file.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c -index 42eece5..34ece75 100644 +index 5ac69b2..a734a1e 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c -@@ -2618,12 +2618,13 @@ static void test_file_disposition_information(void) +@@ -2695,12 +2695,13 @@ static void test_file_disposition_information(void) { char tmp_path[MAX_PATH], buffer[MAX_PATH + 16]; DWORD dirpos; @@ -27,7 +27,7 @@ index 42eece5..34ece75 100644 GetTempPathA( MAX_PATH, tmp_path ); -@@ -2946,6 +2947,74 @@ todo_wine +@@ -3023,6 +3024,74 @@ todo_wine todo_wine ok( !fileDeleted, "Directory shouldn't have been deleted\n" ); RemoveDirectoryA( buffer ); @@ -101,7 +101,7 @@ index 42eece5..34ece75 100644 + DeleteFileA( buffer ); } - static void test_iocompletion(void) + static void test_file_name_information(void) -- -2.7.4 +1.9.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index bf1265c6..77e1fbbf 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "f11563c65fa50e2f8b7e39cade34bb7a998b26f7" + echo "d8249c638c9e5bac2869c850d1449bddad01f404" } # Show version information @@ -328,7 +328,6 @@ patch_enable_all () enable_user32_Refresh_MDI_Menus="$1" enable_user32_ScrollWindowEx="$1" enable_user32_ShowWindow="$1" - enable_user32_lpCreateParams="$1" enable_uxtheme_CloseThemeClass="$1" enable_uxtheme_GTK_Theming="$1" enable_version_VerFindFileA="$1" @@ -1150,9 +1149,6 @@ patch_enable () user32-ShowWindow) enable_user32_ShowWindow="$2" ;; - user32-lpCreateParams) - enable_user32_lpCreateParams="$2" - ;; uxtheme-CloseThemeClass) enable_uxtheme_CloseThemeClass="$2" ;; @@ -1893,13 +1889,6 @@ if test "$enable_uxtheme_GTK_Theming" -eq 1; then enable_ntdll_DllRedirects=1 fi -if test "$enable_user32_MessageBox_WS_EX_TOPMOST" -eq 1; then - if test "$enable_user32_lpCreateParams" -gt 1; then - abort "Patchset user32-lpCreateParams disabled, but user32-MessageBox_WS_EX_TOPMOST depends on that." - fi - enable_user32_lpCreateParams=1 -fi - if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then if test "$enable_widl_SLTG_Typelib_Support" -gt 1; then abort "Patchset widl-SLTG_Typelib_Support disabled, but stdole32.tlb-SLTG_Typelib depends on that." @@ -6739,30 +6728,8 @@ if test "$enable_user32_ListBox_Size" -eq 1; then ) >> "$patchlist" fi -# Patchset user32-lpCreateParams -# | -# | This patchset fixes the following Wine bugs: -# | * [#40303] Fix pointer to custom dialog control data -# | -# | Modified files: -# | * dlls/user32/dialog.c, dlls/user32/tests/dialog.c, dlls/user32/tests/resource.rc, tools/wrc/genres.c -# | -if test "$enable_user32_lpCreateParams" -eq 1; then - patch_apply user32-lpCreateParams/0001-user32-tests-Add-a-test-for-custom-dialog-control-da.patch - patch_apply user32-lpCreateParams/0002-tools-wrc-Fix-generation-of-custom-dialog-control-da.patch - patch_apply user32-lpCreateParams/0003-user32-Fix-the-pointer-to-custom-dialog-control-data.patch - ( - printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add a test for custom dialog control data.", 1 },'; - printf '%s\n' '+ { "Dmitry Timoshkov", "tools/wrc: Fix generation of custom dialog control data.", 1 },'; - printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Fix the pointer to custom dialog control data.", 1 },'; - ) >> "$patchlist" -fi - # Patchset user32-MessageBox_WS_EX_TOPMOST # | -# | This patchset has the following (direct or indirect) dependencies: -# | * user32-lpCreateParams -# | # | Modified files: # | * dlls/user32/msgbox.c, dlls/user32/tests/dialog.c # | diff --git a/patches/user32-MessageBox_WS_EX_TOPMOST/definition b/patches/user32-MessageBox_WS_EX_TOPMOST/definition index 8e9b6f47..42facfbf 100644 --- a/patches/user32-MessageBox_WS_EX_TOPMOST/definition +++ b/patches/user32-MessageBox_WS_EX_TOPMOST/definition @@ -1,2 +1 @@ Fixes: MessageBox should be topmost when MB_SYSTEMMODAL style is set -Depends: user32-lpCreateParams diff --git a/patches/user32-lpCreateParams/0001-user32-tests-Add-a-test-for-custom-dialog-control-da.patch b/patches/user32-lpCreateParams/0001-user32-tests-Add-a-test-for-custom-dialog-control-da.patch deleted file mode 100644 index 313ab899..00000000 --- a/patches/user32-lpCreateParams/0001-user32-tests-Add-a-test-for-custom-dialog-control-da.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 5d4889932af882323b5a3199abf73a1b4166360c Mon Sep 17 00:00:00 2001 -From: Dmitry Timoshkov -Date: Tue, 15 Mar 2016 12:31:22 +0800 -Subject: user32/tests: Add a test for custom dialog control data. - ---- - dlls/user32/tests/dialog.c | 38 ++++++++++++++++++++++++++++++++++++++ - dlls/user32/tests/resource.rc | 9 +++++++++ - 2 files changed, 47 insertions(+) - -diff --git a/dlls/user32/tests/dialog.c b/dlls/user32/tests/dialog.c -index 6b9d7046aa..e901e27b97 100644 ---- a/dlls/user32/tests/dialog.c -+++ b/dlls/user32/tests/dialog.c -@@ -539,6 +539,27 @@ static LRESULT CALLBACK testDlgWinProc (HWND hwnd, UINT uiMsg, WPARAM wParam, - return DefDlgProcA (hwnd, uiMsg, wParam, lParam); - } - -+static LRESULT CALLBACK test_control_procA(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) -+{ -+ switch(msg) -+ { -+ case WM_CREATE: -+ { -+ static const short sample[] = { 10,1,2,3,4,5 }; -+ CREATESTRUCTA *cs = (CREATESTRUCTA *)lparam; -+ short *data = cs->lpCreateParams; -+todo_wine -+ ok(!memcmp(data, sample, sizeof(sample)), "data mismatch: %d,%d,%d,%d,%d\n", data[0], data[1], data[2], data[3], data[4]); -+ } -+ return 0; -+ -+ default: -+ break; -+ } -+ -+ return DefWindowProcA(hwnd, msg, wparam, lparam); -+} -+ - static BOOL RegisterWindowClasses (void) - { - WNDCLASSA cls; -@@ -558,7 +579,10 @@ static BOOL RegisterWindowClasses (void) - - cls.lpfnWndProc = main_window_procA; - cls.lpszClassName = "IsDialogMessageWindowClass"; -+ if (!RegisterClassA (&cls)) return FALSE; - -+ cls.lpfnWndProc = test_control_procA; -+ cls.lpszClassName = "TESTCONTROL"; - if (!RegisterClassA (&cls)) return FALSE; - - GetClassInfoA(0, "#32770", &cls); -@@ -1563,12 +1587,26 @@ static void test_MessageBox(void) - UnhookWindowsHookEx(hook); - } - -+static INT_PTR CALLBACK custom_test_dialog_proc(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam) -+{ -+ if (msg == WM_INITDIALOG) -+ EndDialog(hdlg, 0); -+ -+ return FALSE; -+} -+ -+static void test_dialog_custom_data(void) -+{ -+ DialogBoxA(g_hinst, "CUSTOM_TEST_DIALOG", NULL, custom_test_dialog_proc); -+} -+ - START_TEST(dialog) - { - g_hinst = GetModuleHandleA (0); - - if (!RegisterWindowClasses()) assert(0); - -+ test_dialog_custom_data(); - test_GetNextDlgItem(); - test_IsDialogMessage(); - test_WM_NEXTDLGCTL(); -diff --git a/dlls/user32/tests/resource.rc b/dlls/user32/tests/resource.rc -index f116b85825..bfe8b9c5fd 100644 ---- a/dlls/user32/tests/resource.rc -+++ b/dlls/user32/tests/resource.rc -@@ -200,6 +200,15 @@ FONT 8, "MS Shell Dlg" - EDITTEXT 1000, 5, 5, 150, 50, WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_MULTILINE | WS_VSCROLL | ES_AUTOVSCROLL | ES_READONLY - } - -+CUSTOM_TEST_DIALOG DIALOGEX 6, 15, 207, 111 -+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -+CAPTION "Custom Test Dialog" -+FONT 8, "MS Sans Serif" -+{ -+ CONTROL "evenlengthtext", -1, "TESTCONTROL", WS_CHILD|WS_VISIBLE|WS_BORDER|WS_TABSTOP, 10,10,100,50 { 1,2,3,4,5 } -+ CONTROL "oddlengthtext", -1, "TESTCONTROL", WS_CHILD|WS_VISIBLE|WS_BORDER|WS_TABSTOP, 10,60,100,50 { 1,2,3,4,5 } -+} -+ - /* @makedep: test_mono.bmp */ - 100 BITMAP test_mono.bmp - --- -2.12.2 - diff --git a/patches/user32-lpCreateParams/0002-tools-wrc-Fix-generation-of-custom-dialog-control-da.patch b/patches/user32-lpCreateParams/0002-tools-wrc-Fix-generation-of-custom-dialog-control-da.patch deleted file mode 100644 index 3aa23a6b..00000000 --- a/patches/user32-lpCreateParams/0002-tools-wrc-Fix-generation-of-custom-dialog-control-da.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 21a9d3d446f2c30e7f3c2bd3208c3f077c49b7f9 Mon Sep 17 00:00:00 2001 -From: Dmitry Timoshkov -Date: Tue, 15 Mar 2016 12:32:38 +0800 -Subject: tools/wrc: Fix generation of custom dialog control data. - ---- - tools/wrc/genres.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/tools/wrc/genres.c b/tools/wrc/genres.c -index 5b7e24c..b97717a 100644 ---- a/tools/wrc/genres.c -+++ b/tools/wrc/genres.c -@@ -726,8 +726,7 @@ static res_t *dialog2res(name_id_t *name, dialog_t *dlg) - put_word(res, 0); - if(ctrl->extra) - { -- put_word(res, ctrl->extra->size+2); -- put_pad(res); -+ put_word(res, ctrl->extra->size); - put_raw_data(res, ctrl->extra, 0); - } - else --- -2.7.1 - diff --git a/patches/user32-lpCreateParams/0003-user32-Fix-the-pointer-to-custom-dialog-control-data.patch b/patches/user32-lpCreateParams/0003-user32-Fix-the-pointer-to-custom-dialog-control-data.patch deleted file mode 100644 index 7a359b93..00000000 --- a/patches/user32-lpCreateParams/0003-user32-Fix-the-pointer-to-custom-dialog-control-data.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f878f67e54ac0b53f9aff8abe86cf3397a3cccc3 Mon Sep 17 00:00:00 2001 -From: Dmitry Timoshkov -Date: Tue, 15 Mar 2016 12:37:16 +0800 -Subject: user32: Fix the pointer to custom dialog control data. - -The fix is suggested by vendor2013@herdsoft.com. ---- - dlls/user32/dialog.c | 2 +- - dlls/user32/tests/dialog.c | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/dlls/user32/dialog.c b/dlls/user32/dialog.c -index 3ea426d..738709d 100644 ---- a/dlls/user32/dialog.c -+++ b/dlls/user32/dialog.c -@@ -197,7 +197,7 @@ static const WORD *DIALOG_GetControl32( const WORD *p, DLG_CONTROL_INFO *info, - TRACE("\n"); - TRACE(" END\n" ); - } -- info->data = p + 1; -+ info->data = p; - p += GET_WORD(p) / sizeof(WORD); - } - else info->data = NULL; -diff --git a/dlls/user32/tests/dialog.c b/dlls/user32/tests/dialog.c -index 2715b6b..4289b3f 100644 ---- a/dlls/user32/tests/dialog.c -+++ b/dlls/user32/tests/dialog.c -@@ -548,7 +548,6 @@ static LRESULT CALLBACK test_control_procA(HWND hwnd, UINT msg, WPARAM wparam, L - static const short sample[] = { 10,1,2,3,4,5 }; - CREATESTRUCTA *cs = (CREATESTRUCTA *)lparam; - short *data = cs->lpCreateParams; --todo_wine - ok(!memcmp(data, sample, sizeof(sample)), "data mismatch: %d,%d,%d,%d,%d\n", data[0], data[1], data[2], data[3], data[4]); - } - return 0; --- -2.7.1 - diff --git a/patches/user32-lpCreateParams/definition b/patches/user32-lpCreateParams/definition deleted file mode 100644 index 9645a0e6..00000000 --- a/patches/user32-lpCreateParams/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [40303] Fix pointer to custom dialog control data 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 e15a7445..37cc30e4 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 7490de31d391a2fdecf6f3a03e182561e67a9b9b Mon Sep 17 00:00:00 2001 +From 3b9012921018024ac35f548a8169302fcc5ac437 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: [PATCH] wined3d: Implement dual source blending. @@ -14,10 +14,10 @@ Subject: [PATCH] wined3d: Implement dual source blending. 7 files changed, 74 insertions(+), 9 deletions(-) diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index 2ec2e9e..1e9804f 100644 +index 7a27b42..0fc2b7f 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -28323,7 +28323,7 @@ static void test_dual_blending(void) +@@ -28501,7 +28501,7 @@ static void test_dual_blending(void) ID3D11DeviceContext_ClearRenderTargetView(context, rtv[1], white); ID3D11DeviceContext_Draw(context, 3, 0); @@ -27,10 +27,10 @@ index 2ec2e9e..1e9804f 100644 ID3D11BlendState_Release(blend_state); diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c -index e60383c..72a1fe3 100644 +index d41c2c3..1ddae6c 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c -@@ -2878,6 +2878,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) +@@ -2899,6 +2899,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct gl_info->limits.buffers = min(MAX_RENDER_TARGET_VIEWS, gl_max); TRACE("Max draw buffers: %u.\n", gl_max); } @@ -43,7 +43,7 @@ index e60383c..72a1fe3 100644 if (gl_info->supported[ARB_MULTITEXTURE]) { if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]) -@@ -3690,6 +3696,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, +@@ -3715,6 +3721,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, for (i = 0; i < gl_info->limits.buffers; ++i) d3d_info->valid_rt_mask |= (1u << i); @@ -55,7 +55,7 @@ index e60383c..72a1fe3 100644 { /* We do not want to deal with re-creating immutable texture storage diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c -index 34376ef..089c218 100644 +index 8199afa..c59cb8e 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -3153,10 +3153,19 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const @@ -80,7 +80,7 @@ index 34376ef..089c218 100644 { i = wined3d_bit_scan(&mask); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 5234808..5afbc3b 100644 +index 32f82d6..b639586 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -3053,6 +3053,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * @@ -91,7 +91,7 @@ index 5234808..5afbc3b 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); -@@ -7946,7 +7947,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7949,7 +7950,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context { const struct wined3d_shader_signature *output_signature = &shader->output_signature; @@ -103,7 +103,7 @@ index 5234808..5afbc3b 100644 if (output_signature->element_count) { for (i = 0; i < output_signature->element_count; ++i) -@@ -7961,7 +7965,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7964,7 +7968,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context continue; } if (shader_glsl_use_explicit_attrib_location(gl_info)) @@ -117,7 +117,7 @@ index 5234808..5afbc3b 100644 shader_addline(buffer, "out %s4 color_out%u;\n", component_type_info[output->component_type].glsl_vector_type, output->semantic_idx); } -@@ -7974,7 +7983,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7977,7 +7986,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context { i = wined3d_bit_scan(&mask); if (shader_glsl_use_explicit_attrib_location(gl_info)) @@ -132,20 +132,20 @@ index 5234808..5afbc3b 100644 } } diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index 20d4f07..f2e3c23 100644 +index 0968172..4c5f7ab 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c -@@ -4101,6 +4101,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; +@@ -4134,6 +4134,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 + args->rt_alpha_swizzle |= 1u << i; + } + } + + args->dual_source_blend = wined3d_dualblend_enabled(state, gl_info); } 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 3b2f845..6d243a4 100644 +index 2dd6ac2..a2e95a4 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -533,12 +533,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st @@ -188,10 +188,10 @@ index 3b2f845..6d243a4 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 89cf44b..9df14eb 100644 +index 6686f98..e7d340c 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -188,6 +188,7 @@ struct wined3d_d3d_info +@@ -190,6 +190,7 @@ struct wined3d_d3d_info struct wined3d_d3d_limits limits; struct wined3d_ffp_attrib_ops ffp_attrib_ops; DWORD valid_rt_mask; @@ -199,17 +199,17 @@ index 89cf44b..9df14eb 100644 DWORD wined3d_creation_flags; unsigned int xyzrhw : 1; unsigned int emulated_flatshading : 1; -@@ -1342,7 +1343,8 @@ struct ps_compile_args - DWORD flatshading : 1; +@@ -1346,7 +1347,8 @@ struct ps_compile_args DWORD alpha_test_func : 3; DWORD render_offscreen : 1; -- DWORD padding : 26; + DWORD rt_alpha_swizzle : 8; /* MAX_RENDER_TARGET_VIEWS, 8 */ +- DWORD padding : 18; + DWORD dual_source_blend : 1; -+ DWORD padding : 25; ++ DWORD padding : 17; }; enum fog_src_type -@@ -1903,7 +1905,8 @@ struct wined3d_context +@@ -1910,7 +1912,8 @@ struct wined3d_context DWORD shader_update_mask : 6; /* WINED3D_SHADER_TYPE_COUNT, 6 */ DWORD clip_distance_mask : 8; /* MAX_CLIP_DISTANCES, 8 */ DWORD num_untracked_materials : 2; /* Max value 2 */ @@ -219,7 +219,7 @@ index 89cf44b..9df14eb 100644 DWORD constant_update_mask; DWORD numbered_array_mask; -@@ -2530,6 +2533,7 @@ struct wined3d_fbo_ops +@@ -2537,6 +2540,7 @@ struct wined3d_fbo_ops struct wined3d_gl_limits { UINT buffers; @@ -227,7 +227,7 @@ index 89cf44b..9df14eb 100644 UINT lights; UINT textures; UINT texture_coords; -@@ -2924,6 +2928,22 @@ struct wined3d_state +@@ -2931,6 +2935,22 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -251,5 +251,5 @@ index 89cf44b..9df14eb 100644 { GLuint tex_1d; -- -2.7.4 +1.9.1