mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against d8249c638c9e5bac2869c850d1449bddad01f404
This commit is contained in:
parent
dc83f04f04
commit
9146bbc3d4
@ -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 <dmitry@baikal.ru>
|
||||
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
|
||||
|
||||
|
@ -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 <qhong@codeweavers.com>
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
# |
|
||||
|
@ -1,2 +1 @@
|
||||
Fixes: MessageBox should be topmost when MB_SYSTEMMODAL style is set
|
||||
Depends: user32-lpCreateParams
|
||||
|
@ -1,103 +0,0 @@
|
||||
From 5d4889932af882323b5a3199abf73a1b4166360c Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
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
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 21a9d3d446f2c30e7f3c2bd3208c3f077c49b7f9 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
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
|
||||
|
@ -1,39 +0,0 @@
|
||||
From f878f67e54ac0b53f9aff8abe86cf3397a3cccc3 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
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
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [40303] Fix pointer to custom dialog control data
|
@ -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?= <michael@fds-team.de>
|
||||
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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user