mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against 957a1f0216995c14c3a3fe737358578a506af707
This commit is contained in:
parent
533cbe994f
commit
f85accadd5
@ -1,124 +0,0 @@
|
||||
From e82c474f4befd2ba092dc41e0d7e188cd6303b7e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 6 Jun 2017 21:08:51 +0200
|
||||
Subject: [PATCH] ntoskrnl.exe: Implement NtBuildNumber.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/ntoskrnl.c | 11 +++++++++--
|
||||
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
|
||||
dlls/ntoskrnl.exe/tests/driver.c | 29 +++++++++++++++++++++++++++++
|
||||
3 files changed, 39 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index c3276c95..0e9fa425 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -60,6 +60,7 @@ WINE_DECLARE_DEBUG_CHANNEL(plugplay);
|
||||
|
||||
BOOLEAN KdDebuggerEnabled = FALSE;
|
||||
ULONG InitSafeBootMode = 0;
|
||||
+USHORT NtBuildNumber = 0;
|
||||
|
||||
extern LONG CALLBACK vectored_handler( EXCEPTION_POINTERS *ptrs );
|
||||
|
||||
@@ -2913,6 +2914,13 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
+static void ntoskrnl_init(void)
|
||||
+{
|
||||
+ LARGE_INTEGER count;
|
||||
+
|
||||
+ KeQueryTickCount( &count ); /* initialize the global KeTickCount */
|
||||
+ NtBuildNumber = NtCurrentTeb()->Peb->OSBuildNumber;
|
||||
+}
|
||||
|
||||
/*****************************************************
|
||||
* DllMain
|
||||
@@ -2920,7 +2928,6 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
|
||||
BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
|
||||
{
|
||||
static void *handler;
|
||||
- LARGE_INTEGER count;
|
||||
|
||||
switch(reason)
|
||||
{
|
||||
@@ -2929,7 +2936,7 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
|
||||
#if defined(__i386__) || defined(__x86_64__)
|
||||
handler = RtlAddVectoredExceptionHandler( TRUE, vectored_handler );
|
||||
#endif
|
||||
- KeQueryTickCount( &count ); /* initialize the global KeTickCount */
|
||||
+ ntoskrnl_init();
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
if (reserved) break;
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
index 19cde8cf..271b7f08 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
@@ -751,7 +751,7 @@
|
||||
@ stdcall NtAllocateLocallyUniqueId(ptr)
|
||||
@ stdcall NtAllocateUuids(ptr ptr ptr ptr)
|
||||
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long)
|
||||
-@ stub NtBuildNumber
|
||||
+@ extern NtBuildNumber
|
||||
@ stdcall NtClose(long)
|
||||
@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr)
|
||||
@ stdcall NtCreateEvent(ptr long ptr long long)
|
||||
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
index bd1070c1..2e622c8d 100644
|
||||
--- a/dlls/ntoskrnl.exe/tests/driver.c
|
||||
+++ b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
@@ -174,6 +174,22 @@ static void winetest_end_todo(void)
|
||||
#define todo_wine_if(is_todo) todo_if((is_todo) && running_under_wine)
|
||||
#define win_skip(...) win_skip_(__FILE__, __LINE__, __VA_ARGS__)
|
||||
|
||||
+static void *get_proc_address(const char *name)
|
||||
+{
|
||||
+ UNICODE_STRING name_u;
|
||||
+ ANSI_STRING name_a;
|
||||
+ NTSTATUS status;
|
||||
+ void *ret;
|
||||
+
|
||||
+ RtlInitAnsiString(&name_a, name);
|
||||
+ status = RtlAnsiStringToUnicodeString(&name_u, &name_a, TRUE);
|
||||
+ if (status) return NULL;
|
||||
+
|
||||
+ ret = MmGetSystemRoutineAddress(&name_u);
|
||||
+ RtlFreeUnicodeString(&name_u);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
static void test_currentprocess(void)
|
||||
{
|
||||
PEPROCESS current;
|
||||
@@ -604,6 +620,18 @@ static void test_lookaside_list(void)
|
||||
ExDeleteNPagedLookasideList(&list);
|
||||
}
|
||||
|
||||
+static void test_version(void)
|
||||
+{
|
||||
+ USHORT *pNtBuildNumber;
|
||||
+ ULONG build;
|
||||
+
|
||||
+ pNtBuildNumber = get_proc_address("NtBuildNumber");
|
||||
+ ok(!!pNtBuildNumber, "Could not get pointer to NtBuildNumber\n");
|
||||
+
|
||||
+ PsGetVersion(NULL, NULL, &build, NULL);
|
||||
+ ok(*pNtBuildNumber == build, "Expected build number %u, got %u\n", build, *pNtBuildNumber);
|
||||
+}
|
||||
+
|
||||
static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
{
|
||||
ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength;
|
||||
@@ -633,6 +661,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
test_init_funcs();
|
||||
test_load_driver();
|
||||
test_sync();
|
||||
+ test_version();
|
||||
test_stack_callout();
|
||||
test_lookaside_list();
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "c3ac646a8ded3ef3ebc743a7fdda01b0691a427a"
|
||||
echo "957a1f0216995c14c3a3fe737358578a506af707"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -359,7 +359,6 @@ patch_enable_all ()
|
||||
enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$1"
|
||||
enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$1"
|
||||
enable_wined3d_mesa_texture_download="$1"
|
||||
enable_wined3d_multisample_quality="$1"
|
||||
enable_wined3d_stream_frequency="$1"
|
||||
enable_wined3d_wined3d_guess_gl_vendor="$1"
|
||||
enable_winedbg_Process_Arguments="$1"
|
||||
@ -1241,9 +1240,6 @@ patch_enable ()
|
||||
wined3d-mesa_texture_download)
|
||||
enable_wined3d_mesa_texture_download="$2"
|
||||
;;
|
||||
wined3d-multisample-quality)
|
||||
enable_wined3d_multisample_quality="$2"
|
||||
;;
|
||||
wined3d-stream-frequency)
|
||||
enable_wined3d_stream_frequency="$2"
|
||||
;;
|
||||
@ -5248,16 +5244,14 @@ fi
|
||||
# Patchset ntoskrnl-Stubs
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, dlls/ntoskrnl.exe/tests/driver.c
|
||||
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
# |
|
||||
if test "$enable_ntoskrnl_Stubs" -eq 1; then
|
||||
patch_apply ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch
|
||||
patch_apply ntoskrnl-Stubs/0011-ntoskrnl.exe-Add-IoGetDeviceAttachmentBaseRef-stub.patch
|
||||
patch_apply ntoskrnl-Stubs/0013-ntoskrnl.exe-Implement-NtBuildNumber.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Christian Costa", "ntoskrnl.exe: Implement MmMapLockedPages and MmUnmapLockedPages.", 1 },';
|
||||
printf '%s\n' '+ { "Jarkko Korpi", "ntoskrnl.exe: Add IoGetDeviceAttachmentBaseRef stub.", 1 },';
|
||||
printf '%s\n' '+ { "Michael Müller", "ntoskrnl.exe: Implement NtBuildNumber.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
@ -7278,21 +7272,6 @@ if test "$enable_wined3d_mesa_texture_download" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-multisample-quality
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#39080] wined3d: Ignore multisample quality for MULTISAMPLE_NONE
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/d3d9/tests/visual.c, dlls/wined3d/context.c
|
||||
# |
|
||||
if test "$enable_wined3d_multisample_quality" -eq 1; then
|
||||
patch_apply wined3d-multisample-quality/0001-wined3d-Ignore-multisample-quality-for-MULTISAMPLE_N.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Paul Gofman", "wined3d: Ignore multisample quality for MULTISAMPLE_NONE in context_find_fbo_entry().", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-stream-frequency
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 79a35fd2239cadfa9c8c588c295eef4ca9aba48a Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Tue, 22 Jan 2019 00:22:28 +0300
|
||||
Subject: [PATCH] wined3d: Ignore multisample quality for MULTISAMPLE_NONE in
|
||||
context_find_fbo_entry().
|
||||
|
||||
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=39080
|
||||
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
|
||||
---
|
||||
dlls/d3d9/tests/visual.c | 2 +-
|
||||
dlls/wined3d/context.c | 3 ++-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
|
||||
index 072c6a8364..fb1c7ef21d 100644
|
||||
--- a/dlls/d3d9/tests/visual.c
|
||||
+++ b/dlls/d3d9/tests/visual.c
|
||||
@@ -21273,7 +21273,7 @@ static void test_depthbias(void)
|
||||
}
|
||||
|
||||
hr = IDirect3DDevice9_CreateDepthStencilSurface(device, 640, 480, formats[i],
|
||||
- D3DMULTISAMPLE_NONE, 0, FALSE, &ds, NULL);
|
||||
+ D3DMULTISAMPLE_NONE, 1, FALSE, &ds, NULL);
|
||||
ok(SUCCEEDED(hr), "Failed to create depth stencil surface, hr %#x.\n", hr);
|
||||
hr = IDirect3DDevice9_SetDepthStencilSurface(device, ds);
|
||||
ok(SUCCEEDED(hr), "Failed to set depth stencil surface, hr %#x.\n", hr);
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index 37203738fe..c7eb7849fc 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -599,7 +599,8 @@ static struct fbo_entry *context_find_fbo_entry(struct wined3d_context *context,
|
||||
depth_stencil = &ds_null;
|
||||
}
|
||||
else if (ds_texture->resource.multisample_type != rt_texture->resource.multisample_type
|
||||
- || ds_texture->resource.multisample_quality != rt_texture->resource.multisample_quality)
|
||||
+ || (ds_texture->resource.multisample_type
|
||||
+ && ds_texture->resource.multisample_quality != rt_texture->resource.multisample_quality))
|
||||
{
|
||||
WARN("Color multisample type %u and quality %u, depth stencil has %u and %u, disabling ds buffer.\n",
|
||||
rt_texture->resource.multisample_type, rt_texture->resource.multisample_quality,
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [39080] wined3d: Ignore multisample quality for MULTISAMPLE_NONE
|
@ -1,16 +1,16 @@
|
||||
From 09df46b62a34ccfdc214bc3b5e20731d7170f93f Mon Sep 17 00:00:00 2001
|
||||
From 6ac70538d8f1989386bfe95bdbdc61af60b482c7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 8 Jun 2017 23:50:03 +0200
|
||||
Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr
|
||||
order.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/tests/driver.c | 51 ++++++++++++++++++++++++++++++++
|
||||
programs/winedevice/device.c | 26 ++++++++++++++++
|
||||
dlls/ntoskrnl.exe/tests/driver.c | 51 ++++++++++++++++++++++++++++++++++++++++
|
||||
programs/winedevice/device.c | 26 ++++++++++++++++++++
|
||||
2 files changed, 77 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
index 2e622c8d..d37e0b93 100644
|
||||
index 3984240..c467ac5 100644
|
||||
--- a/dlls/ntoskrnl.exe/tests/driver.c
|
||||
+++ b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
@@ -38,6 +38,8 @@ static const WCHAR driver_device[] = {'\\','D','e','v','i','c','e',
|
||||
@ -22,7 +22,7 @@ index 2e622c8d..d37e0b93 100644
|
||||
static HANDLE okfile;
|
||||
static LONG successes;
|
||||
static LONG failures;
|
||||
@@ -632,6 +634,52 @@ static void test_version(void)
|
||||
@@ -636,6 +638,52 @@ static void test_version(void)
|
||||
ok(*pNtBuildNumber == build, "Expected build number %u, got %u\n", build, *pNtBuildNumber);
|
||||
}
|
||||
|
||||
@ -72,10 +72,10 @@ index 2e622c8d..d37e0b93 100644
|
||||
+ ok(dxgmms1, "Failed to find dxgmms1.sys\n");
|
||||
+}
|
||||
+
|
||||
static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
{
|
||||
ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength;
|
||||
@@ -664,6 +712,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
@@ -669,6 +717,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st
|
||||
test_version();
|
||||
test_stack_callout();
|
||||
test_lookaside_list();
|
||||
@ -83,7 +83,7 @@ index 2e622c8d..d37e0b93 100644
|
||||
|
||||
/* print process report */
|
||||
if (test_input->winetest_debug)
|
||||
@@ -772,6 +821,8 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
|
||||
@@ -781,6 +830,8 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
|
||||
|
||||
DbgPrint("loading driver\n");
|
||||
|
||||
@ -93,7 +93,7 @@ index 2e622c8d..d37e0b93 100644
|
||||
driver->DriverUnload = driver_Unload;
|
||||
|
||||
diff --git a/programs/winedevice/device.c b/programs/winedevice/device.c
|
||||
index 201a0411..33b332da 100644
|
||||
index 201a041..33b332d 100644
|
||||
--- a/programs/winedevice/device.c
|
||||
+++ b/programs/winedevice/device.c
|
||||
@@ -124,7 +124,33 @@ static DWORD WINAPI service_handler( DWORD ctrl, DWORD event_type, LPVOID event_
|
||||
@ -131,5 +131,5 @@ index 201a0411..33b332da 100644
|
||||
if (!(stop_event = CreateEventW( NULL, TRUE, FALSE, NULL )))
|
||||
return;
|
||||
--
|
||||
2.20.1
|
||||
1.9.1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user