You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
00aab80494 | ||
|
86424f3ac1 | ||
|
661df7b889 | ||
|
64ea26c0cb | ||
|
9319c38de2 | ||
|
03f7334e65 | ||
|
eb40bf85d6 | ||
|
d1169e15ee | ||
|
0c295023f1 | ||
|
733a420dd7 | ||
|
545073aafa | ||
|
4e2dc89043 | ||
|
2929606a6a | ||
|
d90a798a26 | ||
|
2e42e7d996 |
@@ -1,4 +1,4 @@
|
||||
From 0cf6433af95363c5fbba2af482b2ba50b863dfb7 Mon Sep 17 00:00:00 2001
|
||||
From a4d9189613ecacb289595663302c1db8676c8d9d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: [PATCH] ntdll: Print a warning message specifying the wine-staging
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH] ntdll: Print a warning message specifying the wine-staging
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 20bc3f977d1..c2187a19397 100644
|
||||
index 7a714a5aa6d..e5325ec31ff 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -44,6 +44,7 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
|
||||
@@ -20,15 +20,15 @@ index 20bc3f977d1..c2187a19397 100644
|
||||
|
||||
#ifdef _WIN64
|
||||
#define DEFAULT_SECURITY_COOKIE_64 (((ULONGLONG)0x00002b99 << 32) | 0x2ddfa232)
|
||||
@@ -3456,6 +3457,7 @@ static void process_breakpoint(void)
|
||||
__ENDTRY
|
||||
@@ -3235,6 +3236,7 @@ void WINAPI LdrShutdownProcess(void)
|
||||
process_detach();
|
||||
}
|
||||
|
||||
+extern const char * CDECL wine_get_version(void);
|
||||
|
||||
/******************************************************************
|
||||
* LdrInitializeThunk (NTDLL.@)
|
||||
@@ -3465,6 +3467,9 @@ static void process_breakpoint(void)
|
||||
* RtlExitUserProcess (NTDLL.@)
|
||||
@@ -3597,6 +3599,9 @@ static void init_wow64(void)
|
||||
*/
|
||||
void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR unknown3, ULONG_PTR unknown4 )
|
||||
{
|
||||
@@ -38,7 +38,7 @@ index 20bc3f977d1..c2187a19397 100644
|
||||
static int attach_done;
|
||||
int i;
|
||||
NTSTATUS status;
|
||||
@@ -3483,6 +3488,16 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
|
||||
@@ -3614,6 +3619,16 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
|
||||
entry = (void **)&context->u.s.X0;
|
||||
#endif
|
||||
|
||||
@@ -56,5 +56,5 @@ index 20bc3f977d1..c2187a19397 100644
|
||||
|
||||
RtlEnterCriticalSection( &loader_section );
|
||||
--
|
||||
2.28.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 3478a4e41c07a66e7e913c54bcf5ad52e16a8fee Mon Sep 17 00:00:00 2001
|
||||
From 6d925cb20409888ada3e469a2a09b1bfc726fa79 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 2 Oct 2020 11:29:24 -0500
|
||||
Subject: [PATCH] bcrypt: Allow multiple backends to coexist.
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
create mode 100644 dlls/bcrypt/unixlib.c
|
||||
|
||||
diff --git a/dlls/bcrypt/Makefile.in b/dlls/bcrypt/Makefile.in
|
||||
index 24803fb2d7cb..46a20d473dd7 100644
|
||||
index 24803fb2d7c..46a20d473dd 100644
|
||||
--- a/dlls/bcrypt/Makefile.in
|
||||
+++ b/dlls/bcrypt/Makefile.in
|
||||
@@ -11,6 +11,7 @@ C_SRCS = \
|
||||
@@ -27,7 +27,7 @@ index 24803fb2d7cb..46a20d473dd7 100644
|
||||
|
||||
RC_SRCS = version.rc
|
||||
diff --git a/dlls/bcrypt/bcrypt_internal.h b/dlls/bcrypt/bcrypt_internal.h
|
||||
index eb1361115093..3c7110d05f84 100644
|
||||
index eb136111509..3c7110d05f8 100644
|
||||
--- a/dlls/bcrypt/bcrypt_internal.h
|
||||
+++ b/dlls/bcrypt/bcrypt_internal.h
|
||||
@@ -218,4 +218,7 @@ struct key_funcs
|
||||
@@ -39,10 +39,10 @@ index eb1361115093..3c7110d05f84 100644
|
||||
+
|
||||
#endif /* __BCRYPT_INTERNAL_H */
|
||||
diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c
|
||||
index c065ac31fba3..9490ea8612a8 100644
|
||||
index 2f0c62bc6da..4a9dcf9de8a 100644
|
||||
--- a/dlls/bcrypt/gnutls.c
|
||||
+++ b/dlls/bcrypt/gnutls.c
|
||||
@@ -371,9 +371,12 @@ fail:
|
||||
@@ -372,9 +372,12 @@ fail:
|
||||
|
||||
static void gnutls_uninitialize(void)
|
||||
{
|
||||
@@ -58,7 +58,7 @@ index c065ac31fba3..9490ea8612a8 100644
|
||||
}
|
||||
|
||||
struct buffer
|
||||
@@ -1949,19 +1952,28 @@ static const struct key_funcs key_funcs =
|
||||
@@ -1899,19 +1902,28 @@ static const struct key_funcs key_funcs =
|
||||
key_import_rsa
|
||||
};
|
||||
|
||||
@@ -74,7 +74,7 @@ index c065ac31fba3..9490ea8612a8 100644
|
||||
+ if (!gnutls_initialize()) return NULL;
|
||||
+ return &key_funcs;
|
||||
case DLL_PROCESS_DETACH:
|
||||
gnutls_uninitialize();
|
||||
if (libgnutls_handle) gnutls_uninitialize();
|
||||
- break;
|
||||
}
|
||||
- return STATUS_SUCCESS;
|
||||
@@ -95,7 +95,7 @@ index c065ac31fba3..9490ea8612a8 100644
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/dlls/bcrypt/macos.c b/dlls/bcrypt/macos.c
|
||||
index 44906519cef0..2a88aec8362c 100644
|
||||
index 44906519cef..2a88aec8362 100644
|
||||
--- a/dlls/bcrypt/macos.c
|
||||
+++ b/dlls/bcrypt/macos.c
|
||||
@@ -302,11 +302,21 @@ static const struct key_funcs key_funcs =
|
||||
@@ -126,7 +126,7 @@ index 44906519cef0..2a88aec8362c 100644
|
||||
#endif
|
||||
diff --git a/dlls/bcrypt/unixlib.c b/dlls/bcrypt/unixlib.c
|
||||
new file mode 100644
|
||||
index 000000000000..9cbb25f5740c
|
||||
index 00000000000..9cbb25f5740
|
||||
--- /dev/null
|
||||
+++ b/dlls/bcrypt/unixlib.c
|
||||
@@ -0,0 +1,211 @@
|
||||
@@ -342,5 +342,5 @@ index 000000000000..9cbb25f5740c
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.29.2
|
||||
2.30.2
|
||||
|
||||
|
@@ -2,4 +2,3 @@ Fixes: [47699] Multiple games fail to connect to online services (missing BCrypt
|
||||
# Needs to be moved to the unix lib, but that's a nontrivial amount of work, and
|
||||
# using gcrypt is the wrong way forward (we should expose the missing APIs from
|
||||
# gnutls instead).
|
||||
#Disabled: true
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 504969929eb7932fe22880768461f2172080f0eb Mon Sep 17 00:00:00 2001
|
||||
From 4527c01f3e96ad841fb26002c1e73a2b4d9ac55e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 19 Jan 2017 16:56:56 +0100
|
||||
Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
|
||||
@@ -8,7 +8,7 @@ Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
|
||||
1 file changed, 1041 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index 454003128dc..4beb7cea4fa 100644
|
||||
index 47f43a796e3..ca21e9be6ea 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -16,6 +16,7 @@
|
||||
@@ -18,8 +18,8 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
+#include "wine/list.h"
|
||||
|
||||
#define NONAMELESSUNION
|
||||
#include "d3d11_private.h"
|
||||
@@ -48,6 +49,174 @@ static BOOL d3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, S
|
||||
#define WINE_NO_NAMELESS_EXTENSION
|
||||
@@ -49,6 +50,174 @@ static BOOL d3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, S
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
/* ID3D11DeviceContext - deferred context */
|
||||
struct d3d11_deferred_context
|
||||
{
|
||||
@@ -55,9 +224,532 @@ struct d3d11_deferred_context
|
||||
@@ -56,9 +225,532 @@ struct d3d11_deferred_context
|
||||
ID3D11Device *device;
|
||||
LONG refcount;
|
||||
|
||||
@@ -727,7 +727,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {}
|
||||
|
||||
static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
|
||||
@@ -1415,7 +2107,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
@@ -1428,7 +2120,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
static void STDMETHODCALLTYPE d3d11_immediate_context_ExecuteCommandList(ID3D11DeviceContext1 *iface,
|
||||
ID3D11CommandList *command_list, BOOL restore_state)
|
||||
{
|
||||
@@ -749,7 +749,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_immediate_context_HSSetShaderResources(ID3D11DeviceContext1 *iface,
|
||||
@@ -3169,6 +3874,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
|
||||
@@ -3167,6 +3872,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
|
||||
|
||||
if (!refcount)
|
||||
{
|
||||
@@ -757,7 +757,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
wined3d_private_store_cleanup(&context->private_store);
|
||||
ID3D11Device_Release(context->device);
|
||||
HeapFree(GetProcessHeap(), 0, context);
|
||||
@@ -3220,43 +3926,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
|
||||
@@ -3218,43 +3924,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetConstantBuffers(ID3D11DeviceContext *iface,
|
||||
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
|
||||
{
|
||||
@@ -850,7 +850,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *iface,
|
||||
@@ -3269,53 +4018,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
|
||||
@@ -3267,53 +4016,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
|
||||
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_Map(ID3D11DeviceContext *iface, ID3D11Resource *resource,
|
||||
UINT subresource_idx, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_subresource)
|
||||
{
|
||||
@@ -1029,7 +1029,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstanced(ID3D11DeviceContext *iface,
|
||||
@@ -3344,7 +4209,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
|
||||
@@ -3342,7 +4207,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_IASetPrimitiveTopology(ID3D11DeviceContext *iface,
|
||||
D3D11_PRIMITIVE_TOPOLOGY topology)
|
||||
{
|
||||
@@ -1047,7 +1047,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetShaderResources(ID3D11DeviceContext *iface,
|
||||
@@ -3404,8 +4278,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
|
||||
@@ -3402,8 +4276,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
|
||||
UINT render_target_view_count, ID3D11RenderTargetView *const *render_target_views,
|
||||
ID3D11DepthStencilView *depth_stencil_view)
|
||||
{
|
||||
@@ -1077,7 +1077,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorderedAccessViews(
|
||||
@@ -3425,15 +4319,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
|
||||
@@ -3423,15 +4317,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetBlendState(ID3D11DeviceContext *iface,
|
||||
ID3D11BlendState *blend_state, const float blend_factor[4], UINT sample_mask)
|
||||
{
|
||||
@@ -1124,7 +1124,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_SOSetTargets(ID3D11DeviceContext *iface, UINT buffer_count,
|
||||
@@ -3475,13 +4398,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
|
||||
@@ -3473,13 +4396,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetState(ID3D11DeviceContext *iface,
|
||||
ID3D11RasterizerState *rasterizer_state)
|
||||
{
|
||||
@@ -1161,7 +1161,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetScissorRects(ID3D11DeviceContext *iface,
|
||||
@@ -3596,8 +4540,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
|
||||
@@ -3594,8 +4538,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShader(ID3D11DeviceContext *iface,
|
||||
ID3D11HullShader *shader, ID3D11ClassInstance *const *class_instances, UINT class_instance_count)
|
||||
{
|
||||
@@ -1181,7 +1181,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceContext *iface,
|
||||
@@ -3610,36 +4564,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
|
||||
@@ -3608,36 +4562,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetConstantBuffers(ID3D11DeviceContext *iface,
|
||||
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
|
||||
{
|
||||
@@ -1249,7 +1249,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11DeviceContext *iface,
|
||||
@@ -3940,7 +4920,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
|
||||
@@ -3938,7 +4918,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearState(ID3D11DeviceContext *iface)
|
||||
{
|
||||
@@ -1266,7 +1266,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_Flush(ID3D11DeviceContext *iface)
|
||||
@@ -3965,9 +4953,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
|
||||
@@ -3963,9 +4951,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
|
||||
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_FinishCommandList(ID3D11DeviceContext *iface,
|
||||
BOOL restore, ID3D11CommandList **command_list)
|
||||
{
|
||||
@@ -1298,7 +1298,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static const struct ID3D11DeviceContextVtbl d3d11_deferred_context_vtbl =
|
||||
@@ -4582,6 +5590,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
|
||||
@@ -4580,6 +5588,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
|
||||
object->device = (ID3D11Device *)iface;
|
||||
object->refcount = 1;
|
||||
|
||||
@@ -1308,5 +1308,5 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
wined3d_private_store_init(&object->private_store);
|
||||
|
||||
--
|
||||
2.30.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,18 +1,18 @@
|
||||
From a6a89266f71551cd6ee6b80dc758825957087a37 Mon Sep 17 00:00:00 2001
|
||||
From 7e0e8ea02fa2670a29e1c312f88205b870521a9e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 30 May 2015 02:55:03 +0200
|
||||
Subject: [PATCH] ddraw: Allow size and format conversions in
|
||||
IDirect3DTexture2::Load.
|
||||
|
||||
---
|
||||
dlls/ddraw/surface.c | 152 +++++++++++++++++++++++--------------------
|
||||
1 file changed, 81 insertions(+), 71 deletions(-)
|
||||
dlls/ddraw/surface.c | 153 +++++++++++++++++++++++--------------------
|
||||
1 file changed, 82 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
|
||||
index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
index f5c3528cfa4..a8b919c05c2 100644
|
||||
--- a/dlls/ddraw/surface.c
|
||||
+++ b/dlls/ddraw/surface.c
|
||||
@@ -5310,6 +5310,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
|
||||
@@ -5316,6 +5316,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
|
||||
return impl_from_IDirectDrawSurface7(next_level);
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
/*****************************************************************************
|
||||
* IDirect3DTexture2::Load
|
||||
*
|
||||
@@ -5331,7 +5371,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5337,7 +5377,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
{
|
||||
struct ddraw_surface *dst_surface = impl_from_IDirect3DTexture2(iface);
|
||||
struct ddraw_surface *src_surface = unsafe_impl_from_IDirect3DTexture2(src_texture);
|
||||
@@ -68,7 +68,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("iface %p, src_texture %p.\n", iface, src_texture);
|
||||
@@ -5344,90 +5384,61 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5350,90 +5390,62 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
|
||||
wined3d_mutex_lock();
|
||||
|
||||
@@ -184,7 +184,8 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
|
||||
- wined3d_resource_unmap(dst_resource, dst_surface->sub_resource_idx);
|
||||
- wined3d_resource_unmap(src_resource, src_surface->sub_resource_idx);
|
||||
+ hr = wined3d_texture_blt(ddraw_surface_get_default_texture(dst_surface, DDRAW_SURFACE_WRITE),
|
||||
+ hr = wined3d_device_context_blt(dst_surface->ddraw->immediate_context,
|
||||
+ ddraw_surface_get_default_texture(dst_surface, DDRAW_SURFACE_WRITE),
|
||||
+ dst_surface->sub_resource_idx, &dst_rect,
|
||||
+ ddraw_surface_get_default_texture(src_surface, DDRAW_SURFACE_READ),
|
||||
+ src_surface->sub_resource_idx, &src_rect, 0, NULL, WINED3D_TEXF_LINEAR);
|
||||
@@ -196,7 +197,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
}
|
||||
|
||||
if (src_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_MIPMAP)
|
||||
@@ -5440,12 +5451,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5446,12 +5458,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
else
|
||||
dst_surface = NULL;
|
||||
|
||||
@@ -213,5 +214,5 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
|
||||
wined3d_mutex_unlock();
|
||||
--
|
||||
2.20.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 1aac9111b536d35eec696e20141b6c5d6d92579b Mon Sep 17 00:00:00 2001
|
||||
From 2da453ad472ce69926e158bd4e933facd985d1cd Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 16:01:56 -0500
|
||||
Subject: [PATCH] server: Create eventfd file descriptors for message queues.
|
||||
@@ -8,7 +8,7 @@ Subject: [PATCH] server: Create eventfd file descriptors for message queues.
|
||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index 263bb46ea00..4d416a88d88 100644
|
||||
index 1f1392387df..d34bc284d08 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -43,6 +43,7 @@
|
||||
@@ -19,15 +19,15 @@ index 263bb46ea00..4d416a88d88 100644
|
||||
|
||||
#define WM_NCMOUSEFIRST WM_NCMOUSEMOVE
|
||||
#define WM_NCMOUSELAST (WM_NCMOUSEFIRST+(WM_MOUSELAST-WM_MOUSEFIRST))
|
||||
@@ -141,6 +142,7 @@ struct msg_queue
|
||||
struct hook_table *hooks; /* hook table */
|
||||
@@ -144,6 +145,7 @@ struct msg_queue
|
||||
timeout_t last_get_msg; /* time of last get message call */
|
||||
int keystate_lock; /* owns an input keystate lock */
|
||||
unsigned int ignore_post_msg; /* ignore post messages newer than this unique id */
|
||||
+ int esync_fd; /* esync file descriptor (signalled on message) */
|
||||
};
|
||||
|
||||
struct hotkey
|
||||
@@ -157,6 +159,7 @@ static void msg_queue_dump( struct object *obj, int verbose );
|
||||
@@ -160,6 +162,7 @@ static void msg_queue_dump( struct object *obj, int verbose );
|
||||
static int msg_queue_add_queue( struct object *obj, struct wait_queue_entry *entry );
|
||||
static void msg_queue_remove_queue( struct object *obj, struct wait_queue_entry *entry );
|
||||
static int msg_queue_signaled( struct object *obj, struct wait_queue_entry *entry );
|
||||
@@ -35,7 +35,7 @@ index 263bb46ea00..4d416a88d88 100644
|
||||
static void msg_queue_satisfied( struct object *obj, struct wait_queue_entry *entry );
|
||||
static void msg_queue_destroy( struct object *obj );
|
||||
static void msg_queue_poll_event( struct fd *fd, int event );
|
||||
@@ -172,7 +175,7 @@ static const struct object_ops msg_queue_ops =
|
||||
@@ -175,7 +178,7 @@ static const struct object_ops msg_queue_ops =
|
||||
msg_queue_add_queue, /* add_queue */
|
||||
msg_queue_remove_queue, /* remove_queue */
|
||||
msg_queue_signaled, /* signaled */
|
||||
@@ -44,9 +44,9 @@ index 263bb46ea00..4d416a88d88 100644
|
||||
msg_queue_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -309,12 +312,16 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
queue->hooks = NULL;
|
||||
@@ -315,12 +318,16 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
queue->last_get_msg = current_time;
|
||||
queue->keystate_lock = 0;
|
||||
queue->ignore_post_msg = 0;
|
||||
+ queue->esync_fd = -1;
|
||||
list_init( &queue->send_result );
|
||||
@@ -61,17 +61,17 @@ index 263bb46ea00..4d416a88d88 100644
|
||||
thread->queue = queue;
|
||||
}
|
||||
if (new_input) release_object( new_input );
|
||||
@@ -491,6 +498,9 @@ static inline void clear_queue_bits( struct msg_queue *queue, unsigned int bits
|
||||
{
|
||||
queue->wake_bits &= ~bits;
|
||||
queue->changed_bits &= ~bits;
|
||||
@@ -534,6 +541,9 @@ static inline void clear_queue_bits( struct msg_queue *queue, unsigned int bits
|
||||
if (queue->keystate_lock) unlock_input_keystate( queue->input );
|
||||
queue->keystate_lock = 0;
|
||||
}
|
||||
+
|
||||
+ if (do_esync() && !is_signaled( queue ))
|
||||
+ esync_clear( queue->esync_fd );
|
||||
}
|
||||
|
||||
/* check whether msg is a keyboard message */
|
||||
@@ -1004,6 +1014,13 @@ static int msg_queue_signaled( struct object *obj, struct wait_queue_entry *entr
|
||||
@@ -1047,6 +1057,13 @@ static int msg_queue_signaled( struct object *obj, struct wait_queue_entry *entr
|
||||
return ret || is_signaled( queue );
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ index 263bb46ea00..4d416a88d88 100644
|
||||
static void msg_queue_satisfied( struct object *obj, struct wait_queue_entry *entry )
|
||||
{
|
||||
struct msg_queue *queue = (struct msg_queue *)obj;
|
||||
@@ -2381,6 +2398,9 @@ DECL_HANDLER(get_queue_status)
|
||||
@@ -2425,6 +2442,9 @@ DECL_HANDLER(get_queue_status)
|
||||
reply->wake_bits = queue->wake_bits;
|
||||
reply->changed_bits = queue->changed_bits;
|
||||
queue->changed_bits &= ~req->clear_bits;
|
||||
@@ -96,5 +96,5 @@ index 263bb46ea00..4d416a88d88 100644
|
||||
else reply->wake_bits = reply->changed_bits = 0;
|
||||
}
|
||||
--
|
||||
2.28.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From df50f6973c1fa60db18b408001ac50c03fb2fa07 Mon Sep 17 00:00:00 2001
|
||||
From e0a89702e35941e75ce06f795966c92b3f195ed8 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 16:11:23 -0500
|
||||
Subject: [PATCH] server, ntdll: Implement message waits.
|
||||
@@ -105,10 +105,10 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
{
|
||||
struct stat st;
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 9062a5020c2..789bc56e7f1 100644
|
||||
index cf00ab99c63..ecbb78cc9bb 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -3697,3 +3697,8 @@ enum esync_type
|
||||
@@ -3734,3 +3734,8 @@ enum esync_type
|
||||
int type;
|
||||
unsigned int shm_idx;
|
||||
@END
|
||||
@@ -118,26 +118,26 @@ index 9062a5020c2..789bc56e7f1 100644
|
||||
+ int in_msgwait; /* are we in a message wait? */
|
||||
+@END
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index 4d416a88d88..efaf8a0f7e7 100644
|
||||
index d34bc284d08..f4edb299dc3 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -143,6 +143,7 @@ struct msg_queue
|
||||
timeout_t last_get_msg; /* time of last get message call */
|
||||
@@ -146,6 +146,7 @@ struct msg_queue
|
||||
int keystate_lock; /* owns an input keystate lock */
|
||||
unsigned int ignore_post_msg; /* ignore post messages newer than this unique id */
|
||||
int esync_fd; /* esync file descriptor (signalled on message) */
|
||||
+ int esync_in_msgwait; /* our thread is currently waiting on us */
|
||||
};
|
||||
|
||||
struct hotkey
|
||||
@@ -313,6 +314,7 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
queue->last_get_msg = current_time;
|
||||
@@ -319,6 +320,7 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
queue->keystate_lock = 0;
|
||||
queue->ignore_post_msg = 0;
|
||||
queue->esync_fd = -1;
|
||||
+ queue->esync_in_msgwait = 0;
|
||||
list_init( &queue->send_result );
|
||||
list_init( &queue->callback_result );
|
||||
list_init( &queue->pending_timers );
|
||||
@@ -959,6 +961,10 @@ static int is_queue_hung( struct msg_queue *queue )
|
||||
@@ -1002,6 +1004,10 @@ static int is_queue_hung( struct msg_queue *queue )
|
||||
if (get_wait_queue_thread(entry)->queue == queue)
|
||||
return 0; /* thread is waiting on queue -> not hung */
|
||||
}
|
||||
@@ -148,7 +148,7 @@ index 4d416a88d88..efaf8a0f7e7 100644
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -3385,3 +3391,18 @@ DECL_HANDLER(get_rawinput_devices)
|
||||
@@ -3416,3 +3422,18 @@ DECL_HANDLER(get_rawinput_devices)
|
||||
devices[i++] = e->device;
|
||||
}
|
||||
}
|
||||
@@ -168,5 +168,5 @@ index 4d416a88d88..efaf8a0f7e7 100644
|
||||
+ set_fd_events( queue->fd, req->in_msgwait ? POLLIN : 0 );
|
||||
+}
|
||||
--
|
||||
2.28.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
From ac9e5c8733b503db651b358c78aef60294a70aff Mon Sep 17 00:00:00 2001
|
||||
From b332f5a5dd03b7d71515a2fddefa787da3fb7b5e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 9 Jan 2016 16:57:49 +0100
|
||||
Subject: explorer: Create CurrentControlSet\Control\Video registry key as
|
||||
non-volatile.
|
||||
Subject: [PATCH] explorer: Create CurrentControlSet\Control\Video registry key
|
||||
as non-volatile.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@@ -14,10 +14,10 @@ Signed-off-by: Michael MĂĽller <michael@fds-team.de>
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c
|
||||
index d1fe3f05f..011c2fcea 100644
|
||||
index dfadd13ea8c..b3e5888da92 100644
|
||||
--- a/dlls/advapi32/tests/registry.c
|
||||
+++ b/dlls/advapi32/tests/registry.c
|
||||
@@ -1345,6 +1345,13 @@ static void test_reg_create_key(void)
|
||||
@@ -1318,6 +1318,13 @@ static void test_reg_create_key(void)
|
||||
RegDeleteKeyA(hkey1, "");
|
||||
RegCloseKey(hkey1);
|
||||
|
||||
@@ -32,10 +32,10 @@ index d1fe3f05f..011c2fcea 100644
|
||||
hkey1 = NULL;
|
||||
ret = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "Software", 0, NULL, 0, KEY_READ|KEY_WOW64_32KEY, NULL, &hkey1, NULL);
|
||||
diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
|
||||
index 2857fcfca..bfe3bec18 100644
|
||||
index 94d178880a8..95f06e50b7d 100644
|
||||
--- a/programs/explorer/desktop.c
|
||||
+++ b/programs/explorer/desktop.c
|
||||
@@ -754,6 +754,11 @@ static BOOL get_default_enable_shell( const WCHAR *name )
|
||||
@@ -792,6 +792,11 @@ static BOOL get_default_enable_shell( const WCHAR *name )
|
||||
|
||||
static HMODULE load_graphics_driver( const WCHAR *driver, const GUID *guid )
|
||||
{
|
||||
@@ -47,9 +47,9 @@ index 2857fcfca..bfe3bec18 100644
|
||||
static const WCHAR device_keyW[] = {
|
||||
'S','y','s','t','e','m','\\',
|
||||
'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\',
|
||||
@@ -817,6 +822,10 @@ static HMODULE load_graphics_driver( const WCHAR *driver, const GUID *guid )
|
||||
TRACE( "display %s driver %s\n", debugstr_guid(guid), debugstr_w(buffer) );
|
||||
}
|
||||
@@ -859,6 +864,10 @@ static HMODULE load_graphics_driver( const WCHAR *driver, const GUID *guid )
|
||||
|
||||
TRACE( "display %s driver %s\n", debugstr_guid(guid), debugstr_w(libname) );
|
||||
|
||||
+ /* create video key first without REG_OPTION_VOLATILE attribute */
|
||||
+ if (!RegCreateKeyExW( HKEY_LOCAL_MACHINE, video_keyW, 0, NULL, 0, KEY_SET_VALUE, NULL, &hkey, NULL ))
|
||||
@@ -59,5 +59,5 @@ index 2857fcfca..bfe3bec18 100644
|
||||
guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
|
||||
guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] );
|
||||
--
|
||||
2.21.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 2ce47e07be60a3306855c625f4ffc75d039085ec Mon Sep 17 00:00:00 2001
|
||||
From e1057892b7256a8c48b4abaa1b34fb11b6735973 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 4 Feb 2017 16:20:37 +0100
|
||||
Subject: [PATCH] kernel32: Implement some processor group functions.
|
||||
@@ -38,7 +38,7 @@ index 4998af04d9b..5ce8e24713b 100644
|
||||
@ stdcall GetNamedPipeServerProcessId(long ptr) kernel32.GetNamedPipeServerProcessId
|
||||
@ stdcall GetNumaAvailableMemoryNodeEx(long ptr) kernel32.GetNumaAvailableMemoryNodeEx
|
||||
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
|
||||
index d14bf010383..d7eb984c0cd 100644
|
||||
index 0312e044a86..06f524a8080 100644
|
||||
--- a/dlls/kernel32/kernel32.spec
|
||||
+++ b/dlls/kernel32/kernel32.spec
|
||||
@@ -719,7 +719,7 @@
|
||||
@@ -103,10 +103,10 @@ index 41a5b34af19..dc136365f50 100644
|
||||
* GetFirmwareEnvironmentVariableA (KERNEL32.@)
|
||||
*/
|
||||
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
|
||||
index 762e114a988..4bf68401268 100644
|
||||
index 433c12ff1fb..5049265684f 100644
|
||||
--- a/dlls/kernel32/tests/process.c
|
||||
+++ b/dlls/kernel32/tests/process.c
|
||||
@@ -4327,6 +4327,26 @@ static void test_dead_process(void)
|
||||
@@ -4297,6 +4297,26 @@ static void test_dead_process(void)
|
||||
CloseHandle(pi.hThread);
|
||||
}
|
||||
|
||||
@@ -133,14 +133,14 @@ index 762e114a988..4bf68401268 100644
|
||||
START_TEST(process)
|
||||
{
|
||||
HANDLE job, hproc, h, h2;
|
||||
@@ -4443,6 +4463,7 @@ START_TEST(process)
|
||||
test_GetNumaProcessorNode();
|
||||
@@ -4414,6 +4434,7 @@ START_TEST(process)
|
||||
test_session_info();
|
||||
test_GetLogicalProcessorInformationEx();
|
||||
test_GetSystemCpuSetInformation();
|
||||
+ test_GetActiveProcessorCount();
|
||||
test_largepages();
|
||||
test_ProcThreadAttributeList();
|
||||
test_SuspendProcessState();
|
||||
--
|
||||
2.30.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
Fixes: [49740] msxml3: Implement FreeThreadedXMLHTTP60.
|
||||
Fixes: [50900] msxml3: Implement FreeThreadedXMLHTTP60.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 658a24832ee3e9a04a311600fd00b91b6d5cfb5f Mon Sep 17 00:00:00 2001
|
||||
From 5b1520dd617c454ac8e482260b6b437f6f98d185 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 3 Apr 2017 01:06:26 +0200
|
||||
Subject: [PATCH] ntdll: Add dummy apiset to PEB.
|
||||
@@ -12,27 +12,27 @@ Subject: [PATCH] ntdll: Add dummy apiset to PEB.
|
||||
create mode 100644 include/apiset.h
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index c7da728964c..addc5e0adfc 100644
|
||||
index 7a714a5aa6d..62d1b38f4c0 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -169,6 +169,7 @@ static RTL_CRITICAL_SECTION peb_lock = { &peb_critsect_debug, -1, 0, 0, 0, 0 };
|
||||
static PEB_LDR_DATA ldr = { sizeof(ldr), TRUE };
|
||||
@@ -164,6 +164,7 @@ static PEB_LDR_DATA ldr =
|
||||
|
||||
static RTL_BITMAP tls_bitmap;
|
||||
static RTL_BITMAP tls_expansion_bitmap;
|
||||
+static API_SET_NAMESPACE_ARRAY apiset_map;
|
||||
|
||||
static WINE_MODREF *cached_modref;
|
||||
static WINE_MODREF *current_modref;
|
||||
@@ -4025,6 +4026,7 @@ static NTSTATUS process_init(void)
|
||||
@@ -3626,6 +3627,7 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
|
||||
|
||||
peb->LdrData = &ldr;
|
||||
peb->FastPebLock = &peb_lock;
|
||||
+ peb->ApiSetMap = &apiset_map;
|
||||
peb->TlsBitmap = &tls_bitmap;
|
||||
peb->TlsExpansionBitmap = &tls_expansion_bitmap;
|
||||
peb->LoaderLock = &loader_section;
|
||||
peb->LdrData = &ldr;
|
||||
peb->FastPebLock = &peb_lock;
|
||||
+ peb->ApiSetMap = &apiset_map;
|
||||
peb->TlsBitmap = &tls_bitmap;
|
||||
peb->TlsExpansionBitmap = &tls_expansion_bitmap;
|
||||
peb->LoaderLock = &loader_section;
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index 87cc175739b..ff9f0f692d9 100644
|
||||
index 9133e5c6315..f56a60fae5e 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -15,6 +15,7 @@ SOURCES = \
|
||||
@@ -87,7 +87,7 @@ index 00000000000..6801cd5f509
|
||||
+
|
||||
+#endif
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index cff261b6d7c..ca7a85d9578 100644
|
||||
index 298ebbc2d36..163b7737e00 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -23,6 +23,7 @@
|
||||
@@ -98,7 +98,7 @@ index cff261b6d7c..ca7a85d9578 100644
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -316,7 +317,7 @@ typedef struct _PEB
|
||||
@@ -321,7 +322,7 @@ typedef struct _PEB
|
||||
PVOID KernelCallbackTable; /* 02c/058 */
|
||||
ULONG Reserved; /* 030/060 */
|
||||
ULONG AtlThunkSListPtr32; /* 034/064 */
|
||||
@@ -108,5 +108,5 @@ index cff261b6d7c..ca7a85d9578 100644
|
||||
PRTL_BITMAP TlsBitmap; /* 040/078 */
|
||||
ULONG TlsBitmapBits[2]; /* 044/080 */
|
||||
--
|
||||
2.28.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 5d866aebeeb7760eed0f35a206d43ef32bafbffe Mon Sep 17 00:00:00 2001
|
||||
From e1c9210a92b5b3fda4767f3a9ba12eff5427314f Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 5 Aug 2017 03:38:38 +0200
|
||||
Subject: [PATCH] ntdll: Add inline versions of RtlEnterCriticalSection /
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH] ntdll: Add inline versions of RtlEnterCriticalSection /
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index b8f9dc28e63..444feb5d152 100644
|
||||
index e50d48dc3cc..13a9123eb06 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -20,7 +20,7 @@ index b8f9dc28e63..444feb5d152 100644
|
||||
#include "wine/asm.h"
|
||||
|
||||
#define DECLARE_CRITICAL_SECTION(cs) \
|
||||
@@ -88,6 +89,39 @@ extern struct _KUSER_SHARED_DATA *user_shared_data DECLSPEC_HIDDEN;
|
||||
@@ -85,6 +86,39 @@ extern struct _KUSER_SHARED_DATA *user_shared_data DECLSPEC_HIDDEN;
|
||||
extern int CDECL NTDLL__vsnprintf( char *str, SIZE_T len, const char *format, __ms_va_list args ) DECLSPEC_HIDDEN;
|
||||
extern int CDECL NTDLL__vsnwprintf( WCHAR *str, SIZE_T len, const WCHAR *format, __ms_va_list args ) DECLSPEC_HIDDEN;
|
||||
|
||||
@@ -59,7 +59,7 @@ index b8f9dc28e63..444feb5d152 100644
|
||||
+
|
||||
/* load order */
|
||||
|
||||
#ifndef _WIN64
|
||||
#ifdef _WIN64
|
||||
--
|
||||
2.30.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,13 +1,13 @@
|
||||
From 45940635b59cf3183e26ab3ffd2b8f486161e5ad Mon Sep 17 00:00:00 2001
|
||||
From 78e8d51910a41db9a31ec350228989a0c65cf899 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 3 Apr 2017 05:30:27 +0200
|
||||
Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/loader.c | 75 ++++++++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/loader.c | 65 +++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/loader.c | 60 +++++++++++++++++++++++++++++
|
||||
include/winternl.h | 2 +-
|
||||
3 files changed, 141 insertions(+), 1 deletion(-)
|
||||
3 files changed, 136 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
|
||||
index 1db68a191a3..bec46088518 100644
|
||||
@@ -110,10 +110,10 @@ index 1db68a191a3..bec46088518 100644
|
||||
test_dll_file( "kernel32.dll" );
|
||||
test_dll_file( "advapi32.dll" );
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 01644df7763..8c6d05cb94e 100644
|
||||
index 7a714a5aa6d..996a749ebaa 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -112,6 +112,9 @@ struct file_id
|
||||
@@ -113,6 +113,9 @@ struct file_id
|
||||
BYTE ObjectId[16];
|
||||
};
|
||||
|
||||
@@ -123,7 +123,7 @@ index 01644df7763..8c6d05cb94e 100644
|
||||
/* internal representation of loaded modules */
|
||||
typedef struct _wine_modref
|
||||
{
|
||||
@@ -450,6 +453,52 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module )
|
||||
@@ -458,6 +461,52 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module )
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,7 +176,7 @@ index 01644df7763..8c6d05cb94e 100644
|
||||
/*************************************************************************
|
||||
* get_modref
|
||||
*
|
||||
@@ -1196,7 +1245,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
@@ -1204,7 +1253,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
&wm->ldr.InLoadOrderLinks);
|
||||
InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList,
|
||||
&wm->ldr.InMemoryOrderLinks);
|
||||
@@ -189,7 +189,7 @@ index 01644df7763..8c6d05cb94e 100644
|
||||
|
||||
if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT))
|
||||
{
|
||||
@@ -1876,6 +1930,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
@@ -1884,6 +1938,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
/* the module has only be inserted in the load & memory order lists */
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderLinks);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderLinks);
|
||||
@@ -197,7 +197,7 @@ index 01644df7763..8c6d05cb94e 100644
|
||||
|
||||
/* FIXME: there are several more dangling references
|
||||
* left. Including dlls loaded by this dll before the
|
||||
@@ -3277,6 +3332,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
@@ -3314,6 +3369,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
{
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderLinks);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderLinks);
|
||||
@@ -205,41 +205,22 @@ index 01644df7763..8c6d05cb94e 100644
|
||||
if (wm->ldr.InInitializationOrderLinks.Flink)
|
||||
RemoveEntryList(&wm->ldr.InInitializationOrderLinks);
|
||||
|
||||
@@ -3979,6 +4035,7 @@ static NTSTATUS process_init(void)
|
||||
INITIAL_TEB stack;
|
||||
TEB *teb = NtCurrentTeb();
|
||||
PEB *peb = teb->Peb;
|
||||
+ DWORD i;
|
||||
@@ -3641,6 +3697,10 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
|
||||
sizeof(peb->TlsExpansionBitmapBits) * 8 );
|
||||
RtlSetBits( peb->TlsBitmap, 0, 1 ); /* TLS index 0 is reserved and should be initialized to NULL. */
|
||||
|
||||
peb->LdrData = &ldr;
|
||||
peb->FastPebLock = &peb_lock;
|
||||
@@ -4002,6 +4059,10 @@ static NTSTATUS process_init(void)
|
||||
InitializeListHead( &ldr.InMemoryOrderModuleList );
|
||||
InitializeListHead( &ldr.InInitializationOrderModuleList );
|
||||
|
||||
+ /* initialize hash table */
|
||||
+ for (i = 0; i < HASH_MAP_SIZE; i++)
|
||||
+ InitializeListHead(&hash_table[i]);
|
||||
+ /* initialize hash table */
|
||||
+ for (i = 0; i < HASH_MAP_SIZE; i++)
|
||||
+ InitializeListHead( &hash_table[i] );
|
||||
+
|
||||
#ifndef _WIN64
|
||||
is_wow64 = !!NtCurrentTeb64();
|
||||
#endif
|
||||
@@ -4050,6 +4111,10 @@ static NTSTATUS process_init(void)
|
||||
teb->Tib.StackBase = stack.StackBase;
|
||||
teb->Tib.StackLimit = stack.StackLimit;
|
||||
teb->DeallocationStack = stack.DeallocationStack;
|
||||
+
|
||||
+ /* the windows version was not set yet when ntdll and kernel32 were loaded */
|
||||
+ recompute_hash_map();
|
||||
+
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
init_user_process_params();
|
||||
load_global_options();
|
||||
version_init();
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index fcdedaec8aa..6ea72da54f7 100644
|
||||
index 298ebbc2d36..64aac3f955d 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -3040,8 +3040,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
|
||||
@@ -3183,8 +3183,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
|
||||
ULONG Flags;
|
||||
SHORT LoadCount;
|
||||
SHORT TlsIndex;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 1669a5998c69cf1f99b52d8917d0b0f977862374 Mon Sep 17 00:00:00 2001
|
||||
From b8a8aafd5c57dba6be726cf5974dfce006ea8d06 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 May 2015 02:23:15 +0200
|
||||
Subject: [PATCH] ntdll: Add support for hiding wine version information from
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Add support for hiding wine version information from
|
||||
2 files changed, 103 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 61951663866..dca5551cdb7 100644
|
||||
index 336b11c6344..46f74df7130 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -74,6 +74,9 @@ BOOL is_wow64 = FALSE;
|
||||
@@ -20,10 +20,10 @@ index 61951663866..dca5551cdb7 100644
|
||||
+#define IS_OPTION_TRUE(ch) ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
|
||||
+
|
||||
+
|
||||
static BOOL is_prefix_bootstrap; /* are we bootstrapping the prefix? */
|
||||
static BOOL imports_fixup_done = FALSE; /* set once the imports have been fixed up, before attaching them */
|
||||
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
|
||||
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
|
||||
@@ -91,6 +94,8 @@ struct dll_dir_entry
|
||||
@@ -92,6 +95,8 @@ struct dll_dir_entry
|
||||
|
||||
static struct list dll_dir_list = LIST_INIT( dll_dir_list ); /* extra dirs from LdrAddDllDirectory */
|
||||
|
||||
@@ -32,7 +32,7 @@ index 61951663866..dca5551cdb7 100644
|
||||
struct ldr_notification
|
||||
{
|
||||
struct list entry;
|
||||
@@ -1729,6 +1734,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
|
||||
@@ -1673,6 +1678,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ index 61951663866..dca5551cdb7 100644
|
||||
/******************************************************************
|
||||
* LdrGetProcedureAddress (NTDLL.@)
|
||||
*/
|
||||
@@ -1748,7 +1843,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
|
||||
@@ -1692,7 +1787,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
|
||||
{
|
||||
void *proc = name ? find_named_export( module, exports, exp_size, name->Buffer, -1, NULL )
|
||||
: find_ordinal_export( module, exports, exp_size, ord - exports->Base, NULL );
|
||||
@@ -138,7 +138,7 @@ index 61951663866..dca5551cdb7 100644
|
||||
{
|
||||
*address = proc;
|
||||
ret = STATUS_SUCCESS;
|
||||
@@ -1993,6 +2088,8 @@ static void build_ntdll_module(void)
|
||||
@@ -1934,6 +2029,8 @@ static void build_ntdll_module(void)
|
||||
assert( wm );
|
||||
wm->ldr.Flags &= ~LDR_DONT_RESOLVE_REFS;
|
||||
if (TRACE_ON(relay)) RELAY_SetupDLL( meminfo.AllocationBase );
|
||||
@@ -148,10 +148,10 @@ index 61951663866..dca5551cdb7 100644
|
||||
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 9ebdeaebfe0..39bb0c1ff6f 100644
|
||||
index 400ac9398a5..55695f2c370 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -136,6 +136,11 @@ static inline TEB64 *NtCurrentTeb64(void) { return (TEB64 *)NtCurrentTeb()->GdiB
|
||||
@@ -100,6 +100,11 @@ static inline TEB64 *NtCurrentTeb64(void) { return (TEB64 *)NtCurrentTeb()->GdiB
|
||||
|
||||
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 65673c61b09de27189b5f319073e6807d8dbed9e Mon Sep 17 00:00:00 2001
|
||||
From b41fc553cecc9ba5c81cda41bb85e2ee1937586e Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Mon, 2 Nov 2020 20:24:07 -0600
|
||||
Subject: [PATCH] ntdll: Reimplement Win32 futexes on top of thread-ID alerts.
|
||||
@@ -261,10 +261,10 @@ index 25496609f08..4f395336428 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 438ff474a92..a962eb46ead 100644
|
||||
index 4c76865019b..d7fc60cad2f 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1757,9 +1757,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1753,9 +1753,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@@ -467,19 +467,19 @@ index 7d6423083e1..41005425a90 100644
|
||||
- mutex_unlock( &addr_mutex );
|
||||
-}
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index 80e4eaefc75..72d115a556b 100644
|
||||
index 04ae8230b1a..21e34842778 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -37,7 +37,7 @@ enum loadorder
|
||||
};
|
||||
@@ -26,7 +26,7 @@
|
||||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 119
|
||||
+#define NTDLL_UNIXLIB_VERSION 120
|
||||
-#define NTDLL_UNIXLIB_VERSION 120
|
||||
+#define NTDLL_UNIXLIB_VERSION 121
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -49,10 +49,6 @@ struct unix_funcs
|
||||
@@ -38,10 +38,6 @@ struct unix_funcs
|
||||
/* other Win32 API functions */
|
||||
NTSTATUS (WINAPI *DbgUiIssueRemoteBreakin)( HANDLE process );
|
||||
LONGLONG (WINAPI *RtlGetSystemTimePrecise)(void);
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From fd2100138729eece59f3af37c59ee6b166085cc6 Mon Sep 17 00:00:00 2001
|
||||
From 7ac2eff4652e8ce16550c27b2378e2dc64d54122 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Mon, 31 Aug 2020 23:38:09 -0500
|
||||
Subject: [PATCH] ntdll: Reimplement the critical section fast path on top of
|
||||
@@ -83,10 +83,10 @@ index 09975ac3d45..97a5ce7fffa 100644
|
||||
return ret;
|
||||
}
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index a962eb46ead..6748c89ccac 100644
|
||||
index d7fc60cad2f..fe710e9d1f5 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1757,9 +1757,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1753,9 +1753,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@@ -217,7 +217,7 @@ index 41005425a90..6b97028fb68 100644
|
||||
|
||||
/* Futex-based SRW lock implementation:
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 8d80b824d28..8141554a7cd 100644
|
||||
index 923b888ce68..1524a532a88 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -105,9 +105,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
|
||||
@@ -231,19 +231,19 @@ index 8d80b824d28..8141554a7cd 100644
|
||||
extern NTSTATUS CDECL fast_RtlAcquireSRWLockExclusive( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index 72d115a556b..d7c880eda04 100644
|
||||
index 21e34842778..c67daa389a3 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -37,7 +37,7 @@ enum loadorder
|
||||
};
|
||||
@@ -26,7 +26,7 @@
|
||||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 120
|
||||
+#define NTDLL_UNIXLIB_VERSION 121
|
||||
-#define NTDLL_UNIXLIB_VERSION 121
|
||||
+#define NTDLL_UNIXLIB_VERSION 122
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -51,9 +51,6 @@ struct unix_funcs
|
||||
@@ -40,9 +40,6 @@ struct unix_funcs
|
||||
LONGLONG (WINAPI *RtlGetSystemTimePrecise)(void);
|
||||
|
||||
/* fast locks */
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 6409c2d12ba290c5bb8c4335988bc144d08b35b7 Mon Sep 17 00:00:00 2001
|
||||
From 65b24120d7a4bb05712bcb559d55a30d5a498002 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Mon, 31 Aug 2020 23:55:29 -0500
|
||||
Subject: [PATCH] ntdll: Get rid of the direct futex path for condition
|
||||
@@ -80,10 +80,10 @@ index 97a5ce7fffa..1e6afc4cfc8 100644
|
||||
if (flags & RTL_CONDITION_VARIABLE_LOCKMODE_SHARED)
|
||||
RtlAcquireSRWLockShared( lock );
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 6748c89ccac..81d8476e4c6 100644
|
||||
index fe710e9d1f5..36899ba57e3 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1763,8 +1763,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1759,8 +1759,6 @@ static struct unix_funcs unix_funcs =
|
||||
fast_RtlAcquireSRWLockShared,
|
||||
fast_RtlReleaseSRWLockExclusive,
|
||||
fast_RtlReleaseSRWLockShared,
|
||||
@@ -187,7 +187,7 @@ index 6b97028fb68..d4092438644 100644
|
||||
-
|
||||
#endif
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 8141554a7cd..a22e7bdd4f4 100644
|
||||
index 1524a532a88..91b6451ade1 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -111,10 +111,7 @@ extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLS
|
||||
@@ -202,19 +202,19 @@ index 8141554a7cd..a22e7bdd4f4 100644
|
||||
extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
|
||||
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index d7c880eda04..8518c7fba13 100644
|
||||
index c67daa389a3..b0914d3f97e 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -37,7 +37,7 @@ enum loadorder
|
||||
};
|
||||
@@ -26,7 +26,7 @@
|
||||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 121
|
||||
+#define NTDLL_UNIXLIB_VERSION 122
|
||||
-#define NTDLL_UNIXLIB_VERSION 122
|
||||
+#define NTDLL_UNIXLIB_VERSION 123
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -57,9 +57,6 @@ struct unix_funcs
|
||||
@@ -46,9 +46,6 @@ struct unix_funcs
|
||||
NTSTATUS (CDECL *fast_RtlAcquireSRWLockShared)( RTL_SRWLOCK *lock );
|
||||
NTSTATUS (CDECL *fast_RtlReleaseSRWLockExclusive)( RTL_SRWLOCK *lock );
|
||||
NTSTATUS (CDECL *fast_RtlReleaseSRWLockShared)( RTL_SRWLOCK *lock );
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From cf50bc7987a6449ada2c801a78697c6299ffb07c Mon Sep 17 00:00:00 2001
|
||||
From ddc8ae251a344ad7e7e11844b03fe0eaaa553084 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Sun, 22 Nov 2020 20:51:10 -0600
|
||||
Subject: [PATCH] ntdll: Reimplement SRW locks on top of Win32 futexes.
|
||||
@@ -392,10 +392,10 @@ index 1e6afc4cfc8..93a6a5fd7de 100644
|
||||
|
||||
/***********************************************************************
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 81d8476e4c6..575cc38d5f9 100644
|
||||
index 36899ba57e3..6a7eb5d7af1 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1757,12 +1757,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1753,12 +1753,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@@ -747,7 +747,7 @@ index d4092438644..b67f5fc8f10 100644
|
||||
-
|
||||
-#endif
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index a22e7bdd4f4..cf7b194a14b 100644
|
||||
index 91b6451ade1..ffce7328600 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -105,12 +105,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
|
||||
@@ -764,19 +764,19 @@ index a22e7bdd4f4..cf7b194a14b 100644
|
||||
|
||||
extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index 8518c7fba13..650efb7f5e0 100644
|
||||
index b0914d3f97e..fd6c1198e99 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -37,7 +37,7 @@ enum loadorder
|
||||
};
|
||||
@@ -26,7 +26,7 @@
|
||||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 122
|
||||
+#define NTDLL_UNIXLIB_VERSION 123
|
||||
-#define NTDLL_UNIXLIB_VERSION 123
|
||||
+#define NTDLL_UNIXLIB_VERSION 124
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -50,14 +50,6 @@ struct unix_funcs
|
||||
@@ -39,14 +39,6 @@ struct unix_funcs
|
||||
NTSTATUS (WINAPI *DbgUiIssueRemoteBreakin)( HANDLE process );
|
||||
LONGLONG (WINAPI *RtlGetSystemTimePrecise)(void);
|
||||
|
||||
|
@@ -1,87 +0,0 @@
|
||||
From c65ffcf059cf2768a9ca6ee7a7e38d8a6a25fc44 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 22 May 2020 16:37:37 +1000
|
||||
Subject: [PATCH] ntdll: NtQuerySystemInformation support
|
||||
SystemCodeIntegrityInformation
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49192
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
dlls/ntdll/unix/system.c | 22 ++++++++++++++++++++++
|
||||
include/winternl.h | 22 ++++++++++++++++++++++
|
||||
2 files changed, 44 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c
|
||||
index 6fa71ddfb91..fad1d072962 100644
|
||||
--- a/dlls/ntdll/unix/system.c
|
||||
+++ b/dlls/ntdll/unix/system.c
|
||||
@@ -2714,6 +2714,28 @@ NTSTATUS WINAPI NtQuerySystemInformation( SYSTEM_INFORMATION_CLASS class,
|
||||
ret = STATUS_SUCCESS;
|
||||
break;
|
||||
|
||||
+ case SystemCodeIntegrityInformation:
|
||||
+ {
|
||||
+ SYSTEM_CODEINTEGRITY_INFORMATION *scii = info;
|
||||
+
|
||||
+ FIXME("SystemCodeIntegrityInformation, size %u, info %p, stub!\n", size, info);
|
||||
+
|
||||
+ if (size < sizeof(SYSTEM_CODEINTEGRITY_INFORMATION))
|
||||
+ {
|
||||
+ ret = STATUS_INFO_LENGTH_MISMATCH;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (!info)
|
||||
+ {
|
||||
+ ret = STATUS_ACCESS_VIOLATION;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ scii->CodeIntegrityOptions = CODEINTEGRITY_OPTION_ENABLED;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
default:
|
||||
FIXME( "(0x%08x,%p,0x%08x,%p) stub\n", class, info, size, ret_size );
|
||||
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index fcdedaec8aa..618fab7d7c2 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -1550,11 +1550,33 @@ typedef enum _SYSTEM_INFORMATION_CLASS {
|
||||
SystemMemoryListInformation = 80,
|
||||
SystemFileCacheInformationEx = 81,
|
||||
SystemDynamicTimeZoneInformation = 102,
|
||||
+ SystemCodeIntegrityInformation = 103,
|
||||
SystemLogicalProcessorInformationEx = 107,
|
||||
SystemHypervisorSharedPageInformation = 197,
|
||||
SystemInformationClassMax
|
||||
} SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS;
|
||||
|
||||
+typedef struct _SYSTEM_CODEINTEGRITY_INFORMATION
|
||||
+{
|
||||
+ ULONG Length;
|
||||
+ ULONG CodeIntegrityOptions;
|
||||
+} SYSTEM_CODEINTEGRITY_INFORMATION, *PSYSTEM_CODEINTEGRITY_INFORMATION;
|
||||
+
|
||||
+#define CODEINTEGRITY_OPTION_ENABLED 0x0001
|
||||
+#define CODEINTEGRITY_OPTION_TESTSIGN 0x0002
|
||||
+#define CODEINTEGRITY_OPTION_UMCI_ENABLED 0x0004
|
||||
+#define CODEINTEGRITY_OPTION_UMCI_AUDITMODE_ENABLED 0x0008
|
||||
+#define CODEINTEGRITY_OPTION_UMCI_EXCLUSIONPATHS_ENABLED 0x0010
|
||||
+#define CODEINTEGRITY_OPTION_TEST_BUILD 0x0020
|
||||
+#define CODEINTEGRITY_OPTION_PREPRODUCTION_BUILD 0x0040
|
||||
+#define CODEINTEGRITY_OPTION_DEBUGMODE_ENABLED 0x0080
|
||||
+#define CODEINTEGRITY_OPTION_FLIGHT_BUILD 0x0100
|
||||
+#define CODEINTEGRITY_OPTION_FLIGHTING_ENABLED 0x0200
|
||||
+#define CODEINTEGRITY_OPTION_HVCI_KMCI_ENABLED 0x0400
|
||||
+#define CODEINTEGRITY_OPTION_HVCI_KMCI_AUDITMODE_ENABLED 0x0800
|
||||
+#define CODEINTEGRITY_OPTION_HVCI_KMCI_STRICTMODE_ENABLED 0x1000
|
||||
+#define CODEINTEGRITY_OPTION_HVCI_IUM_ENABLED 0x2000
|
||||
+
|
||||
typedef enum _THREADINFOCLASS {
|
||||
ThreadBasicInformation = 0,
|
||||
ThreadTimes,
|
||||
--
|
||||
2.30.2
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [49192] ntdll: NtQuerySystemInformation support SystemCodeIntegrityInformation
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user