mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 5fd3090f522a9c2a4cfb077c9b7cdc1ae1304c4c
This commit is contained in:
parent
5ffb34bc71
commit
6b93eac6ad
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "11e3cf091d8ec70a9d6004ac6a51d5c827d9ddff"
|
||||
echo "5fd3090f522a9c2a4cfb077c9b7cdc1ae1304c4c"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -345,7 +345,6 @@ patch_enable_all ()
|
||||
enable_version_VerFindFileA="$1"
|
||||
enable_version_VerQueryValue="$1"
|
||||
enable_virtdisk_GetStorageDependencyInformation="$1"
|
||||
enable_wbemdisp_ISWbemSecurity="$1"
|
||||
enable_widl_SLTG_Typelib_Support="$1"
|
||||
enable_windowscodecs_32bppPRGBA="$1"
|
||||
enable_windowscodecs_GIF_Encoder="$1"
|
||||
@ -369,7 +368,6 @@ patch_enable_all ()
|
||||
enable_winecfg_Unmounted_Devices="$1"
|
||||
enable_wined3d_Accounting="$1"
|
||||
enable_wined3d_CSMT_Main="$1"
|
||||
enable_wined3d_CompareInterpolationMode="$1"
|
||||
enable_wined3d_DXTn="$1"
|
||||
enable_wined3d_Dual_Source_Blending="$1"
|
||||
enable_wined3d_Indexed_Vertex_Blending="$1"
|
||||
@ -1213,9 +1211,6 @@ patch_enable ()
|
||||
virtdisk-GetStorageDependencyInformation)
|
||||
enable_virtdisk_GetStorageDependencyInformation="$2"
|
||||
;;
|
||||
wbemdisp-ISWbemSecurity)
|
||||
enable_wbemdisp_ISWbemSecurity="$2"
|
||||
;;
|
||||
widl-SLTG_Typelib_Support)
|
||||
enable_widl_SLTG_Typelib_Support="$2"
|
||||
;;
|
||||
@ -1285,9 +1280,6 @@ patch_enable ()
|
||||
wined3d-CSMT_Main)
|
||||
enable_wined3d_CSMT_Main="$2"
|
||||
;;
|
||||
wined3d-CompareInterpolationMode)
|
||||
enable_wined3d_CompareInterpolationMode="$2"
|
||||
;;
|
||||
wined3d-DXTn)
|
||||
enable_wined3d_DXTn="$2"
|
||||
;;
|
||||
@ -7149,18 +7141,6 @@ if test "$enable_virtdisk_GetStorageDependencyInformation" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wbemdisp-ISWbemSecurity
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wbemdisp/locator.c
|
||||
# |
|
||||
if test "$enable_wbemdisp_ISWbemSecurity" -eq 1; then
|
||||
patch_apply wbemdisp-ISWbemSecurity/0001-wbemdisp-Add-ISWbemSecurity-stub-interface.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "wbemdisp: Add ISWbemSecurity stub interface.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset windowscodecs-Palette_Images
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -7689,21 +7669,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-CompareInterpolationMode
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#45127] Correctly compare Interpolation mode values
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/glsl_shader.c
|
||||
# |
|
||||
if test "$enable_wined3d_CompareInterpolationMode" -eq 1; then
|
||||
patch_apply wined3d-CompareInterpolationMode/0001-wined3d-Correctly-compare-Interpolation-mode-values.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Matteo Bruni", "wined3d: Correctly compare Interpolation mode values.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-WINED3D_RS_COLORWRITEENABLE
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 8c77eaf04997422d4febc835d0331dba89a17a79 Mon Sep 17 00:00:00 2001
|
||||
From 64c5030300ca302fcc36f471feb27d9e46b56f30 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Tue, 3 Sep 2013 23:28:14 +0200
|
||||
Subject: shdocvw: Check precisely ParseURLFromOutsideSourceX returned values
|
||||
in tests and make code clearer about that. (try 3)
|
||||
Subject: [PATCH] shdocvw: Check precisely ParseURLFromOutsideSourceX returned
|
||||
values in tests and make code clearer about that. (try 3)
|
||||
|
||||
Try 3:
|
||||
- fix test check for ansi version
|
||||
@ -15,10 +15,10 @@ Try 2:
|
||||
2 files changed, 12 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/shdocvw/shdocvw_main.c b/dlls/shdocvw/shdocvw_main.c
|
||||
index 3ce5df1..8020526 100644
|
||||
index 52c622c609..ef9e3a7dfb 100644
|
||||
--- a/dlls/shdocvw/shdocvw_main.c
|
||||
+++ b/dlls/shdocvw/shdocvw_main.c
|
||||
@@ -378,8 +378,7 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L
|
||||
@@ -379,8 +379,7 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L
|
||||
HRESULT hr;
|
||||
DWORD needed;
|
||||
DWORD len;
|
||||
@ -28,7 +28,7 @@ index 3ce5df1..8020526 100644
|
||||
|
||||
TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_w(url), out, plen, unknown,
|
||||
plen ? *plen : 0, unknown ? *unknown : 0);
|
||||
@@ -405,10 +404,12 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L
|
||||
@@ -406,10 +405,12 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L
|
||||
needed = lstrlenW(buffer_out)+1;
|
||||
TRACE("got 0x%x with %s (need %d)\n", hr, debugstr_w(buffer_out), needed);
|
||||
|
||||
@ -42,7 +42,7 @@ index 3ce5df1..8020526 100644
|
||||
}
|
||||
needed--;
|
||||
}
|
||||
@@ -451,6 +452,7 @@ DWORD WINAPI ParseURLFromOutsideSourceA(LPCSTR url, LPSTR out, LPDWORD plen, LPD
|
||||
@@ -452,6 +453,7 @@ DWORD WINAPI ParseURLFromOutsideSourceA(LPCSTR url, LPSTR out, LPDWORD plen, LPD
|
||||
if (*plen >= needed) {
|
||||
if (out != NULL) {
|
||||
WideCharToMultiByte(CP_ACP, 0, buffer, -1, out, *plen, NULL, NULL);
|
||||
@ -51,7 +51,7 @@ index 3ce5df1..8020526 100644
|
||||
}
|
||||
needed--;
|
||||
diff --git a/dlls/shdocvw/tests/shdocvw.c b/dlls/shdocvw/tests/shdocvw.c
|
||||
index 7b4eccf..cdf1814 100644
|
||||
index d54cf1613a..167fcf1a92 100644
|
||||
--- a/dlls/shdocvw/tests/shdocvw.c
|
||||
+++ b/dlls/shdocvw/tests/shdocvw.c
|
||||
@@ -212,13 +212,13 @@ static void test_ParseURLFromOutsideSourceA(void)
|
||||
@ -74,7 +74,7 @@ index 7b4eccf..cdf1814 100644
|
||||
/* use the size test only for the first examples */
|
||||
@@ -308,11 +308,12 @@ static void test_ParseURLFromOutsideSourceW(void)
|
||||
/* len is in characters */
|
||||
len = sizeof(bufferW)/sizeof(bufferW[0]);
|
||||
len = ARRAY_SIZE(bufferW);
|
||||
dummy = 0;
|
||||
+ /* on success, 1 is returned for unicode version */
|
||||
res = pParseURLFromOutsideSourceW(urlW, bufferW, &len, &dummy);
|
||||
@ -88,5 +88,5 @@ index 7b4eccf..cdf1814 100644
|
||||
|
||||
|
||||
--
|
||||
2.1.2
|
||||
2.17.1
|
||||
|
||||
|
@ -1,304 +0,0 @@
|
||||
From ad8dcad06c9094763b2fe04f469d07701a74abeb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 24 May 2015 03:56:52 +0200
|
||||
Subject: wbemdisp: Add ISWbemSecurity stub interface.
|
||||
|
||||
---
|
||||
dlls/wbemdisp/locator.c | 249 +++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 244 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c
|
||||
index 6fdd608458..0a0b7d9d9b 100644
|
||||
--- a/dlls/wbemdisp/locator.c
|
||||
+++ b/dlls/wbemdisp/locator.c
|
||||
@@ -37,6 +37,7 @@
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(wbemdisp);
|
||||
|
||||
static HRESULT EnumVARIANT_create( IEnumWbemClassObject *, IEnumVARIANT ** );
|
||||
+static HRESULT ISWbemSecurity_create( ISWbemSecurity ** );
|
||||
|
||||
enum type_id
|
||||
{
|
||||
@@ -46,6 +47,7 @@ enum type_id
|
||||
ISWbemProperty_tid,
|
||||
ISWbemPropertySet_tid,
|
||||
ISWbemServices_tid,
|
||||
+ ISWbemSecurity_tid,
|
||||
last_tid
|
||||
};
|
||||
|
||||
@@ -59,7 +61,8 @@ static REFIID wbemdisp_tid_id[] =
|
||||
&IID_ISWbemObjectSet,
|
||||
&IID_ISWbemProperty,
|
||||
&IID_ISWbemPropertySet,
|
||||
- &IID_ISWbemServices
|
||||
+ &IID_ISWbemServices,
|
||||
+ &IID_ISWbemSecurity
|
||||
};
|
||||
|
||||
static HRESULT get_typeinfo( enum type_id tid, ITypeInfo **ret )
|
||||
@@ -1872,8 +1875,12 @@ static HRESULT WINAPI services_get_Security_(
|
||||
ISWbemServices *iface,
|
||||
ISWbemSecurity **objWbemSecurity )
|
||||
{
|
||||
- FIXME( "\n" );
|
||||
- return E_NOTIMPL;
|
||||
+ TRACE( "%p, %p\n", iface, objWbemSecurity );
|
||||
+
|
||||
+ if (!objWbemSecurity)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ return ISWbemSecurity_create( objWbemSecurity );
|
||||
}
|
||||
|
||||
static const ISWbemServicesVtbl services_vtbl =
|
||||
@@ -2127,8 +2134,12 @@ static HRESULT WINAPI locator_get_Security_(
|
||||
ISWbemLocator *iface,
|
||||
ISWbemSecurity **objWbemSecurity )
|
||||
{
|
||||
- FIXME( "%p, %p\n", iface, objWbemSecurity );
|
||||
- return E_NOTIMPL;
|
||||
+ TRACE( "%p, %p\n", iface, objWbemSecurity );
|
||||
+
|
||||
+ if (!objWbemSecurity)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ return ISWbemSecurity_create( objWbemSecurity );
|
||||
}
|
||||
|
||||
static const ISWbemLocatorVtbl locator_vtbl =
|
||||
@@ -2159,3 +2170,231 @@ HRESULT SWbemLocator_create( void **obj )
|
||||
TRACE( "returning iface %p\n", *obj );
|
||||
return S_OK;
|
||||
}
|
||||
+
|
||||
+struct security
|
||||
+{
|
||||
+ ISWbemSecurity ISWbemSecurity_iface;
|
||||
+ LONG refs;
|
||||
+ WbemImpersonationLevelEnum implevel;
|
||||
+ WbemAuthenticationLevelEnum authlevel;
|
||||
+};
|
||||
+
|
||||
+static inline struct security *impl_from_ISWbemSecurity( ISWbemSecurity *iface )
|
||||
+{
|
||||
+ return CONTAINING_RECORD( iface, struct security, ISWbemSecurity_iface );
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI security_AddRef(
|
||||
+ ISWbemSecurity *iface )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ return InterlockedIncrement( &security->refs );
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI security_Release(
|
||||
+ ISWbemSecurity *iface )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ LONG refs = InterlockedDecrement( &security->refs );
|
||||
+ if (!refs)
|
||||
+ {
|
||||
+ TRACE( "destroying %p\n", security );
|
||||
+ heap_free( security );
|
||||
+ }
|
||||
+ return refs;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_QueryInterface(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ REFIID riid,
|
||||
+ void **ppvObject )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ TRACE( "%p, %s, %p\n", security, debugstr_guid( riid ), ppvObject );
|
||||
+
|
||||
+ if (IsEqualGUID( riid, &IID_ISWbemSecurity ) ||
|
||||
+ IsEqualGUID( riid, &IID_IDispatch ) ||
|
||||
+ IsEqualGUID( riid, &IID_IUnknown ))
|
||||
+ {
|
||||
+ *ppvObject = iface;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
+ ISWbemSecurity_AddRef( iface );
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_GetTypeInfoCount(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ UINT *count )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ TRACE( "%p, %p\n", security, count );
|
||||
+
|
||||
+ *count = 1;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_GetTypeInfo(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ UINT index,
|
||||
+ LCID lcid,
|
||||
+ ITypeInfo **info )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ TRACE( "%p, %u, %u, %p\n", security, index, lcid, info );
|
||||
+
|
||||
+ return get_typeinfo( ISWbemSecurity_tid, info );
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_GetIDsOfNames(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ REFIID riid,
|
||||
+ LPOLESTR *names,
|
||||
+ UINT count,
|
||||
+ LCID lcid,
|
||||
+ DISPID *dispid )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ ITypeInfo *typeinfo;
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ TRACE( "%p, %s, %p, %u, %u, %p\n", security, debugstr_guid(riid), names, count, lcid, dispid );
|
||||
+
|
||||
+ if (!names || !count || !dispid) return E_INVALIDARG;
|
||||
+
|
||||
+ hr = get_typeinfo( ISWbemSecurity_tid, &typeinfo );
|
||||
+ if (SUCCEEDED(hr))
|
||||
+ {
|
||||
+ hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
|
||||
+ ITypeInfo_Release( typeinfo );
|
||||
+ }
|
||||
+ return hr;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_Invoke(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ DISPID member,
|
||||
+ REFIID riid,
|
||||
+ LCID lcid,
|
||||
+ WORD flags,
|
||||
+ DISPPARAMS *params,
|
||||
+ VARIANT *result,
|
||||
+ EXCEPINFO *excep_info,
|
||||
+ UINT *arg_err )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ ITypeInfo *typeinfo;
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", security, member, debugstr_guid(riid),
|
||||
+ lcid, flags, params, result, excep_info, arg_err );
|
||||
+
|
||||
+ hr = get_typeinfo( ISWbemSecurity_tid, &typeinfo );
|
||||
+ if (SUCCEEDED(hr))
|
||||
+ {
|
||||
+ hr = ITypeInfo_Invoke( typeinfo, &security->ISWbemSecurity_iface, member, flags,
|
||||
+ params, result, excep_info, arg_err );
|
||||
+ ITypeInfo_Release( typeinfo );
|
||||
+ }
|
||||
+ return hr;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_get_ImpersonationLevel_(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ WbemImpersonationLevelEnum *impersonation_level )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ FIXME( "%p, %p: stub\n", security, impersonation_level );
|
||||
+
|
||||
+ if (!impersonation_level)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ *impersonation_level = security->implevel;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_put_ImpersonationLevel_(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ WbemImpersonationLevelEnum impersonation_level )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ FIXME( "%p, %d: stub\n", security, impersonation_level );
|
||||
+
|
||||
+ security->implevel = impersonation_level;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_get_AuthenticationLevel_(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ WbemAuthenticationLevelEnum *authentication_level )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ FIXME( "%p, %p: stub\n", security, authentication_level );
|
||||
+
|
||||
+ if (!authentication_level)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ *authentication_level = security->authlevel;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_put_AuthenticationLevel_(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ WbemAuthenticationLevelEnum authentication_level )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ FIXME( "%p, %d: stub\n", security, authentication_level );
|
||||
+
|
||||
+ security->authlevel = authentication_level;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI security_get_Privileges_(
|
||||
+ ISWbemSecurity *iface,
|
||||
+ ISWbemPrivilegeSet **privilege_set )
|
||||
+{
|
||||
+ struct security *security = impl_from_ISWbemSecurity( iface );
|
||||
+ FIXME( "%p, %p: stub\n", security, privilege_set );
|
||||
+
|
||||
+ if (!privilege_set)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static const ISWbemSecurityVtbl security_vtbl =
|
||||
+{
|
||||
+ security_QueryInterface,
|
||||
+ security_AddRef,
|
||||
+ security_Release,
|
||||
+ security_GetTypeInfoCount,
|
||||
+ security_GetTypeInfo,
|
||||
+ security_GetIDsOfNames,
|
||||
+ security_Invoke,
|
||||
+ security_get_ImpersonationLevel_,
|
||||
+ security_put_ImpersonationLevel_,
|
||||
+ security_get_AuthenticationLevel_,
|
||||
+ security_put_AuthenticationLevel_,
|
||||
+ security_get_Privileges_
|
||||
+};
|
||||
+
|
||||
+static HRESULT ISWbemSecurity_create( ISWbemSecurity **obj )
|
||||
+{
|
||||
+ struct security *security;
|
||||
+
|
||||
+ TRACE( "%p\n", obj );
|
||||
+
|
||||
+ if (!(security = heap_alloc( sizeof(*security) ))) return E_OUTOFMEMORY;
|
||||
+ security->ISWbemSecurity_iface.lpVtbl = &security_vtbl;
|
||||
+ security->refs = 1;
|
||||
+ security->implevel = wbemImpersonationLevelAnonymous;
|
||||
+ security->authlevel = wbemAuthenticationLevelDefault;
|
||||
+
|
||||
+ *obj = &security->ISWbemSecurity_iface;
|
||||
+ TRACE( "returning iface %p\n", *obj );
|
||||
+ return S_OK;
|
||||
+}
|
||||
--
|
||||
2.11.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Add stubbed ISWbemSecurity interfaces in wbemdisp
|
@ -1,27 +0,0 @@
|
||||
From 76727eeb72952a3ded2b75917a15d76429efbaa3 Mon Sep 17 00:00:00 2001
|
||||
From: Matteo Bruni <mbruni@codeweavers.com>
|
||||
Date: Sun, 27 May 2018 11:22:33 +1000
|
||||
Subject: [PATCH] wined3d: Correctly compare Interpolation mode values
|
||||
|
||||
---
|
||||
dlls/wined3d/glsl_shader.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index 41bd1fd055..b54e2833ba 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -8281,7 +8281,9 @@ static inline BOOL vs_args_equal(const struct vs_compile_args *stored, const str
|
||||
return FALSE;
|
||||
if (stored->next_shader_input_count != new->next_shader_input_count)
|
||||
return FALSE;
|
||||
- return stored->fog_src == new->fog_src;
|
||||
+ if (stored->fog_src != new->fog_src)
|
||||
+ return FALSE;
|
||||
+ return !memcmp(stored->interpolation_mode, new->interpolation_mode, sizeof(new->interpolation_mode));
|
||||
}
|
||||
|
||||
static GLuint find_glsl_vshader(const struct wined3d_context *context, struct shader_glsl_priv *priv,
|
||||
--
|
||||
2.17.0
|
||||
|
@ -1,2 +0,0 @@
|
||||
Fixes: [45127] Correctly compare Interpolation mode values
|
||||
|
Loading…
Reference in New Issue
Block a user