Rebase against f7402accc40b66140be4d27c5ad1b2fee8532dfc.

This commit is contained in:
Sebastian Lackner 2017-04-20 02:16:00 +02:00
parent a65b6fa780
commit bd070a400c
6 changed files with 86 additions and 59 deletions

View File

@ -1,4 +1,4 @@
From 07bb6e9c60e3525ccf70f979d60f045e4300dbc4 Mon Sep 17 00:00:00 2001
From 2f29ecad409dd3dc746c0fbb3bb5eda00c0c9a3d Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Fri, 19 Dec 2014 22:31:46 +0100
Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
@ -9,10 +9,10 @@ Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
2 files changed, 91 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 813b57e1ea..3c5f7ba8b8 100644
index 8dc4738360..47e79a689a 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -3652,13 +3652,41 @@ static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DX
@@ -3667,13 +3667,41 @@ static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DX
return D3D_OK;
}
@ -58,11 +58,11 @@ index 813b57e1ea..3c5f7ba8b8 100644
static BOOL walk_parameter_dep(struct d3dx_parameter *param, walk_parameter_dep_func param_func,
diff --git a/dlls/d3dx9_36/tests/effect.c b/dlls/d3dx9_36/tests/effect.c
index de5ae69ec9..aba65d11fd 100644
index 9c318b49ef..b8da7bc88f 100644
--- a/dlls/d3dx9_36/tests/effect.c
+++ b/dlls/d3dx9_36/tests/effect.c
@@ -5681,6 +5681,65 @@ static void test_effect_state_manager(IDirect3DDevice9 *device)
ok(!refcount, "State manager was not properly freed, refcount %u.\n", refcount);
@@ -5744,6 +5744,65 @@ static void test_cross_effect_handle(IDirect3DDevice9 *device)
effect1->lpVtbl->Release(effect1);
}
+/*
@ -127,14 +127,14 @@ index de5ae69ec9..aba65d11fd 100644
START_TEST(effect)
{
HWND wnd;
@@ -5728,6 +5787,7 @@ START_TEST(effect)
test_effect_commitchanges(device);
@@ -5792,6 +5851,7 @@ START_TEST(effect)
test_effect_preshader_relative_addressing(device);
test_effect_state_manager(device);
test_cross_effect_handle(device);
+ test_effect_technique_validation(device);
count = IDirect3DDevice9_Release(device);
ok(count == 0, "The device was not properly freed: refcount %u\n", count);
--
2.11.0
2.12.2

View File

@ -52,13 +52,13 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "709935314458bd0ce27aab3986ae98cc556cb663"
echo "f7402accc40b66140be4d27c5ad1b2fee8532dfc"
}
# Show version information
version()
{
echo "Wine Staging 2.6"
echo "Wine Staging 2.7 (unreleased)"
echo "Copyright (C) 2014-2017 the Wine Staging project authors."
echo ""
echo "Patchset to be applied on upstream Wine:"

View File

@ -1,16 +1,16 @@
From 65740badb8194172c48dd52a17299128077d6fff Mon Sep 17 00:00:00 2001
From caa453b8f3d106c4b360504f1639c48fc81c26f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 3 Aug 2014 02:23:44 +0200
Subject: shell32: Add support for extra large and jumbo icon lists. (v2)
---
dlls/shell32/iconcache.c | 209 ++++++++++++++++++++++++++++----------------
dlls/shell32/iconcache.c | 228 ++++++++++++++++++++++++++++----------------
dlls/shell32/shell32_main.h | 3 +
dlls/shell32/shellord.c | 28 ++++--
3 files changed, 159 insertions(+), 81 deletions(-)
3 files changed, 170 insertions(+), 89 deletions(-)
diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c
index c3284a27d67..7f33131f4bd 100644
index 737f4d5023..9105b7ab29 100644
--- a/dlls/shell32/iconcache.c
+++ b/dlls/shell32/iconcache.c
@@ -62,7 +62,9 @@ typedef struct
@ -94,22 +94,32 @@ index c3284a27d67..7f33131f4bd 100644
lpsice->dwListIndex = index;
ret = lpsice->dwListIndex;
}
@@ -305,17 +317,24 @@ static INT SIC_IconAppend (LPCWSTR sSourceFile, INT dwSourceIndex, HICON hSmallI
* gets small/big icon by number from a file
@@ -304,7 +316,7 @@ static BOOL get_imagelist_icon_size(int list, SIZE *size)
HIMAGELIST image_list;
if (list < SHIL_LARGE || list > SHIL_SMALL) return FALSE;
- image_list = (list == SHIL_LARGE) ? ShellBigIconList : ShellSmallIconList;
+ image_list = (list == SHIL_LARGE) ? ShellLargeIconList : ShellSmallIconList;
return ImageList_GetIconSize( image_list, &size->cx, &size->cy );
}
@@ -317,19 +329,25 @@ static BOOL get_imagelist_icon_size(int list, SIZE *size)
*/
static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags)
-{ HICON hiconLarge=0;
{
- HICON hiconLarge=0;
- HICON hiconSmall=0;
- HICON hiconLargeShortcut;
- HICON hiconSmallShortcut;
- int ret;
- SIZE size;
-
- PrivateExtractIconsW( sSourceFile, dwSourceIndex, GetSystemMetrics(SM_CXICON),
- GetSystemMetrics(SM_CYICON), &hiconLarge, 0, 1, 0 );
- PrivateExtractIconsW( sSourceFile, dwSourceIndex, GetSystemMetrics(SM_CXSMICON),
- GetSystemMetrics(SM_CYSMICON), &hiconSmall, 0, 1, 0 );
- get_imagelist_icon_size( SHIL_LARGE, &size );
- PrivateExtractIconsW( sSourceFile, dwSourceIndex, size.cx, size.cy, &hiconLarge, 0, 1, 0 );
- get_imagelist_icon_size( SHIL_SMALL, &size );
- PrivateExtractIconsW( sSourceFile, dwSourceIndex, size.cx, size.cy, &hiconSmall, 0, 1, 0 );
-
- if ( !hiconLarge || !hiconSmall)
+{
+ HICON hiconSmall=0;
+ HICON hiconLarge=0;
+ HICON hiconExtraLarge=0;
@ -118,11 +128,13 @@ index c3284a27d67..7f33131f4bd 100644
+ HICON hiconLargeShortcut;
+ HICON hiconExtraLargeShortcut;
+ HICON hiconJumboShortcut;
+ int ret;
+ SIZE size;
+
+ PrivateExtractIconsW( sSourceFile, dwSourceIndex, GetSystemMetrics(SM_CXSMICON),
+ GetSystemMetrics(SM_CYSMICON), &hiconSmall, 0, 1, 0 );
+ PrivateExtractIconsW( sSourceFile, dwSourceIndex, GetSystemMetrics(SM_CXICON),
+ GetSystemMetrics(SM_CYICON), &hiconLarge, 0, 1, 0 );
+ get_imagelist_icon_size( SHIL_SMALL, &size );
+ PrivateExtractIconsW( sSourceFile, dwSourceIndex, size.cx, size.cy, &hiconSmall, 0, 1, 0 );
+ get_imagelist_icon_size( SHIL_LARGE, &size );
+ PrivateExtractIconsW( sSourceFile, dwSourceIndex, size.cx, size.cy, &hiconLarge, 0, 1, 0 );
+ PrivateExtractIconsW( sSourceFile, dwSourceIndex, 48, 48, &hiconExtraLarge, 0, 1, 0 );
+ PrivateExtractIconsW( sSourceFile, dwSourceIndex, 256, 256, &hiconJumbo, 0, 1, 0 );
+
@ -130,7 +142,7 @@ index c3284a27d67..7f33131f4bd 100644
{
WARN("failure loading icon %i from %s (%p %p)\n", dwSourceIndex, debugstr_w(sSourceFile), hiconLarge, hiconSmall);
return -1;
@@ -323,38 +342,59 @@ static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags)
@@ -337,44 +355,69 @@ static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags)
if (0 != (dwFlags & GIL_FORSHORTCUT))
{
@ -138,6 +150,16 @@ index c3284a27d67..7f33131f4bd 100644
- hiconSmallShortcut = SIC_OverlayShortcutImage(hiconSmall, FALSE);
- if (NULL != hiconLargeShortcut && NULL != hiconSmallShortcut)
- {
- DestroyIcon( hiconLarge );
+ hiconSmallShortcut = SIC_OverlayShortcutImage( hiconSmall, SHIL_SMALL );
+ hiconLargeShortcut = SIC_OverlayShortcutImage( hiconLarge, SHIL_LARGE );
+ hiconExtraLargeShortcut = SIC_OverlayShortcutImage( hiconExtraLarge, SHIL_EXTRALARGE );
+ hiconJumboShortcut = SIC_OverlayShortcutImage( hiconJumbo, SHIL_JUMBO );
+
+ if (NULL != hiconLargeShortcut && NULL != hiconSmallShortcut &&
+ NULL != hiconExtraLargeShortcut && NULL != hiconJumboShortcut)
+ {
DestroyIcon( hiconSmall );
- hiconLarge = hiconLargeShortcut;
- hiconSmall = hiconSmallShortcut;
- }
@ -148,14 +170,10 @@ index c3284a27d67..7f33131f4bd 100644
- if (NULL != hiconSmallShortcut) DestroyIcon(hiconSmallShortcut);
- dwFlags &= ~ GIL_FORSHORTCUT;
- }
+ hiconSmallShortcut = SIC_OverlayShortcutImage( hiconSmall, SHIL_SMALL );
+ hiconLargeShortcut = SIC_OverlayShortcutImage( hiconLarge, SHIL_LARGE );
+ hiconExtraLargeShortcut = SIC_OverlayShortcutImage( hiconExtraLarge, SHIL_EXTRALARGE );
+ hiconJumboShortcut = SIC_OverlayShortcutImage( hiconJumbo, SHIL_JUMBO );
+ DestroyIcon( hiconLarge );
+ DestroyIcon( hiconExtraLarge );
+ DestroyIcon( hiconJumbo );
+
+ if (NULL != hiconLargeShortcut && NULL != hiconSmallShortcut &&
+ NULL != hiconExtraLargeShortcut && NULL != hiconJumboShortcut)
+ {
+ hiconSmall = hiconSmallShortcut;
+ hiconLarge = hiconLargeShortcut;
+ hiconExtraLarge = hiconExtraLargeShortcut;
@ -172,10 +190,19 @@ index c3284a27d67..7f33131f4bd 100644
+ }
}
- return SIC_IconAppend (sSourceFile, dwSourceIndex, hiconSmall, hiconLarge, dwFlags);
+ return SIC_IconAppend( sSourceFile, dwSourceIndex, hiconSmall, hiconLarge,
+ hiconExtraLarge, hiconJumbo, dwFlags );
- ret = SIC_IconAppend( sSourceFile, dwSourceIndex, hiconSmall, hiconLarge, dwFlags );
- DestroyIcon( hiconLarge );
- DestroyIcon( hiconSmall );
- return ret;
+ ret = SIC_IconAppend( sSourceFile, dwSourceIndex, hiconSmall, hiconLarge,
+ hiconExtraLarge, hiconJumbo, dwFlags );
+ DestroyIcon( hiconSmall );
+ DestroyIcon( hiconLarge );
+ DestroyIcon( hiconExtraLarge );
+ DestroyIcon( hiconJumbo );
+ return ret;
}
-
/*****************************************************************************
* SIC_Initialize [internal]
*/
@ -208,7 +235,7 @@ index c3284a27d67..7f33131f4bd 100644
TRACE("\n");
sic_hdpa = DPA_Create(16);
@@ -364,28 +404,36 @@ static BOOL WINAPI SIC_Initialize( INIT_ONCE *once, void *param, void **context
@@ -384,28 +427,36 @@ static BOOL WINAPI SIC_Initialize( INIT_ONCE *once, void *param, void **context
return(FALSE);
}
@ -265,7 +292,7 @@ index c3284a27d67..7f33131f4bd 100644
return TRUE;
}
@@ -409,13 +457,17 @@ void SIC_Destroy(void)
@@ -429,13 +480,17 @@ void SIC_Destroy(void)
if (sic_hdpa) DPA_DestroyCallback(sic_hdpa, sic_free, NULL );
@ -290,7 +317,7 @@ index c3284a27d67..7f33131f4bd 100644
}
/*****************************************************************************
@@ -529,10 +581,21 @@ BOOL WINAPI Shell_GetImageLists(HIMAGELIST * lpBigList, HIMAGELIST * lpSmallList
@@ -549,10 +604,21 @@ BOOL WINAPI Shell_GetImageLists(HIMAGELIST * lpBigList, HIMAGELIST * lpSmallList
{
TRACE("(%p,%p)\n",lpBigList,lpSmallList);
InitOnceExecuteOnce( &sic_init_once, SIC_Initialize, NULL, NULL );
@ -314,7 +341,7 @@ index c3284a27d67..7f33131f4bd 100644
* PidlToSicIndex [INTERNAL]
*
diff --git a/dlls/shell32/shell32_main.h b/dlls/shell32/shell32_main.h
index bdebcba0e39..fbb8e8811ab 100644
index bdebcba0e3..fbb8e8811a 100644
--- a/dlls/shell32/shell32_main.h
+++ b/dlls/shell32/shell32_main.h
@@ -235,4 +235,7 @@ static inline WCHAR *strdupW(const WCHAR *src)
@ -326,7 +353,7 @@ index bdebcba0e39..fbb8e8811ab 100644
+
#endif
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index 1a67a5298c4..a69eee8ac0d 100644
index 1a67a5298c..a69eee8ac0 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -2180,20 +2180,32 @@ void WINAPI SHFlushSFCache(void)
@ -371,5 +398,5 @@ index 1a67a5298c4..a69eee8ac0d 100644
if (hNew)
{
--
2.11.0
2.12.2

View File

@ -1556,7 +1556,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -632,6 +632,10 @@ static void wined3d_shader_resource_view_cs_init(void *object)
@@ -713,6 +713,10 @@ static void wined3d_shader_resource_view_cs_init(void *object)
debug_d3dformat(resource->format->id), debug_d3dformat(view_format->id));
}
}
@ -1567,7 +1567,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
}
static HRESULT wined3d_shader_resource_view_init(struct wined3d_shader_resource_view *view,
@@ -648,6 +652,9 @@ static HRESULT wined3d_shader_resource_view_init(struct wined3d_shader_resource_
@@ -729,6 +733,9 @@ static HRESULT wined3d_shader_resource_view_init(struct wined3d_shader_resource_
wined3d_resource_incref(view->resource = resource);
@ -1577,7 +1577,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
wined3d_cs_init_object(resource->device->cs, wined3d_shader_resource_view_cs_init, view);
return WINED3D_OK;
@@ -829,6 +836,10 @@ static void wined3d_unordered_access_view_cs_init(void *object)
@@ -895,6 +902,10 @@ static void wined3d_unordered_access_view_cs_init(void *object)
desc, texture, view->format);
}
}
@ -1588,7 +1588,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
}
static HRESULT wined3d_unordered_access_view_init(struct wined3d_unordered_access_view *view,
@@ -848,6 +859,9 @@ static HRESULT wined3d_unordered_access_view_init(struct wined3d_unordered_acces
@@ -914,6 +925,9 @@ static HRESULT wined3d_unordered_access_view_init(struct wined3d_unordered_acces
wined3d_resource_incref(view->resource = resource);

View File

@ -1,4 +1,4 @@
From 73bf4a03497e732b42fff4e5d0d63c442fd70bc0 Mon Sep 17 00:00:00 2001
From a2c2f2fdd214dcc58263687c930cf70b08d214e5 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 24 Jan 2017 12:37:46 +0100
Subject: winex11: Fix alpha blending in X11DRV_UpdateLayeredWindow.
@ -9,7 +9,7 @@ Based on a patch by Dmitry Timoshkov.
1 file changed, 17 insertions(+), 19 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 7408a0eb480..3f169ea296f 100644
index ea4933f00e..7cb55e7061 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -410,14 +410,11 @@ static void sync_window_region( struct x11drv_win_data *data, HRGN win_region )
@ -48,16 +48,16 @@ index 7408a0eb480..3f169ea296f 100644
if (data->surface) set_surface_color_key( data->surface, CLR_INVALID );
}
done:
@@ -2536,7 +2533,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
if (data)
{
@@ -2538,7 +2535,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
set_window_visual( data, &default_visual );
if (data->whole_window)
- sync_window_opacity( data->display, data->whole_window, key, alpha, flags );
+ set_window_opacity( data->display, data->whole_window, (flags & LWA_ALPHA) ? alpha : 0xff );
if (data->surface)
set_surface_color_key( data->surface, (flags & LWA_COLORKEY) ? key : CLR_INVALID );
@@ -2560,7 +2557,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
@@ -2562,7 +2559,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
Window win = X11DRV_get_whole_window( hwnd );
if (win)
{
@ -66,7 +66,7 @@ index 7408a0eb480..3f169ea296f 100644
if (flags & LWA_COLORKEY)
FIXME( "LWA_COLORKEY not supported on foreign process window %p\n", hwnd );
}
@@ -2576,7 +2573,6 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
@@ -2578,7 +2575,6 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
{
struct window_surface *surface;
struct x11drv_win_data *data;
@ -74,7 +74,7 @@ index 7408a0eb480..3f169ea296f 100644
COLORREF color_key = (info->dwFlags & ULW_COLORKEY) ? info->crKey : CLR_INVALID;
char buffer[FIELD_OFFSET( BITMAPINFO, bmiColors[256] )];
BITMAPINFO *bmi = (BITMAPINFO *)buffer;
@@ -2604,6 +2600,10 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
@@ -2606,6 +2602,10 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
}
else set_surface_color_key( surface, color_key );
@ -85,7 +85,7 @@ index 7408a0eb480..3f169ea296f 100644
if (surface) window_surface_add_ref( surface );
release_win_data( data );
@@ -2627,14 +2627,12 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
@@ -2629,14 +2629,12 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
{
IntersectRect( &rect, &rect, info->prcDirty );
memcpy( src_bits, dst_bits, bmi->bmiHeader.biSizeImage );
@ -107,5 +107,5 @@ index 7408a0eb480..3f169ea296f 100644
{
memcpy( dst_bits, src_bits, bmi->bmiHeader.biSizeImage );
--
2.11.0
2.12.2

View File

@ -1 +1 @@
Wine Staging 2.6
Wine Staging 2.7 (unreleased)