Rebase against d8249c638c9e5bac2869c850d1449bddad01f404

This commit is contained in:
Alistair Leslie-Hughes 2018-10-02 13:53:52 +10:00
parent dc83f04f04
commit 9146bbc3d4
9 changed files with 47 additions and 250 deletions

View File

@ -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

View File

@ -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

View File

@ -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
# |

View File

@ -1,2 +1 @@
Fixes: MessageBox should be topmost when MB_SYSTEMMODAL style is set
Depends: user32-lpCreateParams

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1 +0,0 @@
Fixes: [40303] Fix pointer to custom dialog control data

View File

@ -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