From 6900845545865db5ccb5b17141dc58e685a5d231 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 24 May 2023 12:06:20 +1000 Subject: [PATCH] Rebase against f266dc094a9b4fbe95792ed706891609901834e3. --- ...etting-and-setting-EAX-buffer-proper.patch | 16 ++--- ...8-dsound-Add-EAX-init-and-free-stubs.patch | 14 ++--- .../definition | 1 + ...dll-Pass-allocation-type-to-map_view.patch | 14 ++--- ...M_RESERVE_PLACEHOLDER-in-NtAllocateV.patch | 28 ++++----- ...ests-Add-more-tests-for-placeholders.patch | 10 ++-- ...M_COALESCE_PLACEHOLDERS-in-NtFreeVir.patch | 10 ++-- ...r-out-unmap_view_of_section-function.patch | 12 ++-- ...M_PRESERVE_PLACEHOLDER-in-NtUnmapVie.patch | 26 ++++---- ...SWVP-vertex-shader-constants-limit-i.patch | 60 +++++++++---------- ...te-a-candidate-window-s-position-wit.patch | 36 +++++------ staging/upstream-commit | 2 +- 12 files changed, 115 insertions(+), 114 deletions(-) diff --git a/patches/dsound-EAX/0007-dsound-Support-getting-and-setting-EAX-buffer-proper.patch b/patches/dsound-EAX/0007-dsound-Support-getting-and-setting-EAX-buffer-proper.patch index b1a2fe52..52fa51f4 100644 --- a/patches/dsound-EAX/0007-dsound-Support-getting-and-setting-EAX-buffer-proper.patch +++ b/patches/dsound-EAX/0007-dsound-Support-getting-and-setting-EAX-buffer-proper.patch @@ -1,4 +1,4 @@ -From f4e3bbf1a91a5a99d703d3fee9a81a5c5089ab79 Mon Sep 17 00:00:00 2001 +From 5bc649eecc617214650f5af105f3ae6b6fae5a11 Mon Sep 17 00:00:00 2001 From: Mark Harmstone Date: Fri, 27 Mar 2015 20:48:19 +0000 Subject: [PATCH] dsound: Support getting and setting EAX buffer properties. @@ -11,12 +11,12 @@ Subject: [PATCH] dsound: Support getting and setting EAX buffer properties. 4 files changed, 72 insertions(+) diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c -index b7a0fb26c4b..0aff7c96842 100644 +index 5c8c495bfe4..ede6d9f1ba1 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c -@@ -1127,6 +1127,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds - return DSERR_OUTOFMEMORY; - } +@@ -1107,6 +1107,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds + dsb->sec_mixpos = 0; + dsb->state = STATE_STOPPED; + dsb->eax.reverb_mix = EAX_REVERBMIX_USEDISTANCE; + @@ -39,7 +39,7 @@ index c90d82d9a3f..2ee83b94ff9 100644 } #endif diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h -index a11379f0f88..9b537ad80a5 100644 +index 021844c414d..7a89b047b42 100644 --- a/dlls/dsound/dsound_private.h +++ b/dlls/dsound/dsound_private.h @@ -177,6 +177,8 @@ struct IDirectSoundBufferImpl @@ -52,7 +52,7 @@ index a11379f0f88..9b537ad80a5 100644 }; diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c -index cdd03becbee..3931681d295 100644 +index 13471aec3a9..03b6e0a9813 100644 --- a/dlls/dsound/eax.c +++ b/dlls/dsound/eax.c @@ -178,6 +178,38 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, @@ -134,5 +134,5 @@ index cdd03becbee..3931681d295 100644 } -- -2.33.0 +2.40.1 diff --git a/patches/dsound-EAX/0008-dsound-Add-EAX-init-and-free-stubs.patch b/patches/dsound-EAX/0008-dsound-Add-EAX-init-and-free-stubs.patch index 1bb4538b..6254dcd3 100644 --- a/patches/dsound-EAX/0008-dsound-Add-EAX-init-and-free-stubs.patch +++ b/patches/dsound-EAX/0008-dsound-Add-EAX-init-and-free-stubs.patch @@ -1,4 +1,4 @@ -From 42c58e406220e9351337b079ae44364fbc39365d Mon Sep 17 00:00:00 2001 +From e484e3dc512eacc9708c245a9e64372428bc1875 Mon Sep 17 00:00:00 2001 From: Mark Harmstone Date: Fri, 27 Mar 2015 20:58:37 +0000 Subject: [PATCH] dsound: Add EAX init and free stubs. @@ -10,11 +10,11 @@ Subject: [PATCH] dsound: Add EAX init and free stubs. 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c -index 22b23c9f877..72e96765883 100644 +index ede6d9f1ba1..309d632397a 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c -@@ -1152,6 +1152,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds - DSOUND_RecalcVolPan(&(dsb->volpan)); +@@ -1145,6 +1145,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds + } InitializeSRWLock(&dsb->lock); + if (dsb->device->eax.using_eax) @@ -22,7 +22,7 @@ index 22b23c9f877..72e96765883 100644 /* register buffer */ err = DirectSoundDevice_AddBuffer(device, dsb); -@@ -1193,6 +1195,8 @@ void secondarybuffer_destroy(IDirectSoundBufferImpl *This) +@@ -1186,6 +1188,8 @@ void secondarybuffer_destroy(IDirectSoundBufferImpl *This) free(This->filters); } @@ -32,7 +32,7 @@ index 22b23c9f877..72e96765883 100644 free(This); diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h -index 09566b28a12..703b5da8225 100644 +index 7a89b047b42..c5e84f07763 100644 --- a/dlls/dsound/dsound_private.h +++ b/dlls/dsound/dsound_private.h @@ -240,6 +240,8 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, @@ -97,5 +97,5 @@ index 03b6e0a9813..91438efc335 100644 HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, -- -2.39.2 +2.40.1 diff --git a/patches/gdiplus-Performance-Improvements/definition b/patches/gdiplus-Performance-Improvements/definition index 2a6f400c..d8a6dbf3 100644 --- a/patches/gdiplus-Performance-Improvements/definition +++ b/patches/gdiplus-Performance-Improvements/definition @@ -1 +1,2 @@ Fixes: Improve performance of bilinear bitmap scaling +Disabled: True diff --git a/patches/ntdll-Placeholders/0002-ntdll-Pass-allocation-type-to-map_view.patch b/patches/ntdll-Placeholders/0002-ntdll-Pass-allocation-type-to-map_view.patch index cf530f20..19f679fb 100644 --- a/patches/ntdll-Placeholders/0002-ntdll-Pass-allocation-type-to-map_view.patch +++ b/patches/ntdll-Placeholders/0002-ntdll-Pass-allocation-type-to-map_view.patch @@ -1,4 +1,4 @@ -From 9262ac863f3c124e204a0fe96fbfc9ebefa2ee84 Mon Sep 17 00:00:00 2001 +From da73611080701ad78b851b7d9e428744d1ce939d Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 10 Nov 2022 18:48:14 -0600 Subject: [PATCH] ntdll: Pass allocation type to map_view(). @@ -9,7 +9,7 @@ Based on a patch by Nikolay Sivov. 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c -index a5c1c8214fa..e3df71a695c 100644 +index e807754d16b..19584238d28 100644 --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c @@ -2011,8 +2011,9 @@ static NTSTATUS map_fixed_area( void *base, size_t size, unsigned int vprot ) @@ -32,7 +32,7 @@ index a5c1c8214fa..e3df71a695c 100644 } /* now try to allocate the low 64K too */ -@@ -2760,9 +2761,9 @@ static NTSTATUS virtual_map_image( HANDLE mapping, ACCESS_MASK access, void **ad +@@ -2767,9 +2768,9 @@ static NTSTATUS virtual_map_image( HANDLE mapping, ACCESS_MASK access, void **ad if ((ULONG_PTR)base != image_info->base) base = NULL; if ((char *)base >= (char *)address_space_start) /* make sure the DOS area remains free */ @@ -43,8 +43,8 @@ index a5c1c8214fa..e3df71a695c 100644 + if (status) status = map_view( &view, NULL, size, alloc_type, vprot, limit, 0 ); if (status) goto done; - status = map_image_into_view( view, filename, unix_fd, base, image_info->header_size, -@@ -2885,7 +2886,7 @@ static unsigned int virtual_map_section( HANDLE handle, PVOID *addr_ptr, ULONG_P + status = map_image_into_view( view, filename, unix_fd, base, image_info, +@@ -2893,7 +2894,7 @@ static unsigned int virtual_map_section( HANDLE handle, PVOID *addr_ptr, ULONG_P server_enter_uninterrupted_section( &virtual_mutex, &sigset ); @@ -53,7 +53,7 @@ index a5c1c8214fa..e3df71a695c 100644 if (res) goto done; TRACE( "handle=%p size=%lx offset=%s\n", handle, size, wine_dbgstr_longlong(offset.QuadPart) ); -@@ -3424,7 +3425,7 @@ NTSTATUS virtual_alloc_thread_stack( INITIAL_TEB *stack, ULONG_PTR limit, SIZE_T +@@ -3463,7 +3464,7 @@ NTSTATUS virtual_alloc_thread_stack( INITIAL_TEB *stack, ULONG_PTR limit, SIZE_T server_enter_uninterrupted_section( &virtual_mutex, &sigset ); @@ -62,7 +62,7 @@ index a5c1c8214fa..e3df71a695c 100644 if (status != STATUS_SUCCESS) goto done; #ifdef VALGRIND_STACK_REGISTER -@@ -4120,7 +4121,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ +@@ -4159,7 +4160,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ if (vprot & VPROT_WRITECOPY) status = STATUS_INVALID_PAGE_PROTECTION; else if (is_dos_memory) status = allocate_dos_memory( &view, vprot ); diff --git a/patches/ntdll-Placeholders/0003-ntdll-Support-MEM_RESERVE_PLACEHOLDER-in-NtAllocateV.patch b/patches/ntdll-Placeholders/0003-ntdll-Support-MEM_RESERVE_PLACEHOLDER-in-NtAllocateV.patch index 2b7e6a51..728dfe25 100644 --- a/patches/ntdll-Placeholders/0003-ntdll-Support-MEM_RESERVE_PLACEHOLDER-in-NtAllocateV.patch +++ b/patches/ntdll-Placeholders/0003-ntdll-Support-MEM_RESERVE_PLACEHOLDER-in-NtAllocateV.patch @@ -1,4 +1,4 @@ -From 73fa163482646dde03d10a2aaab1cb3df2d55225 Mon Sep 17 00:00:00 2001 +From cfb6e0a17e03c42aa3483078390eb030edfeb271 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 10 Nov 2022 18:53:10 -0600 Subject: [PATCH] ntdll: Support MEM_RESERVE_PLACEHOLDER in @@ -117,7 +117,7 @@ index 14eed7d8fe9..f7b321cc09f 100644 static void test_VirtualAllocFromApp(void) diff --git a/dlls/ntdll/tests/virtual.c b/dlls/ntdll/tests/virtual.c -index 549a2b12d5a..8b21e485736 100644 +index 2c8b1614b84..604e234b100 100644 --- a/dlls/ntdll/tests/virtual.c +++ b/dlls/ntdll/tests/virtual.c @@ -334,15 +334,11 @@ static void test_NtAllocateVirtualMemoryEx(void) @@ -256,10 +256,10 @@ index 549a2b12d5a..8b21e485736 100644 + status = NtFreeVirtualMemory(NtCurrentProcess(), (void **)&p2, &size2, MEM_RELEASE); + ok(status == STATUS_SUCCESS, "Unexpected status %08lx.\n", status); - memset( &ext, 0, sizeof(ext) ); - ext.Type = MemExtendedParameterAttributeFlags; + memset( ext, 0, sizeof(ext) ); + ext[0].Type = MemExtendedParameterAttributeFlags; diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c -index e3df71a695c..77b0bc4c4c8 100644 +index 19584238d28..feb93302af5 100644 --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c @@ -125,6 +125,8 @@ struct file_view @@ -280,7 +280,7 @@ index e3df71a695c..77b0bc4c4c8 100644 else if (view->protect & SEC_IMAGE) TRACE( " (image)\n" ); else if (view->protect & SEC_FILE) -@@ -4098,8 +4102,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ +@@ -4137,8 +4141,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ /* Compute the alloc type flags */ @@ -290,7 +290,7 @@ index e3df71a695c..77b0bc4c4c8 100644 { WARN("called with wrong alloc type flags (%08x) !\n", (int)type); return STATUS_INVALID_PARAMETER; -@@ -4107,6 +4110,12 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ +@@ -4146,6 +4149,12 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ if (!arm64ec_map && (attributes & MEM_EXTENDED_PARAMETER_EC_CODE)) return STATUS_INVALID_PARAMETER; @@ -303,7 +303,7 @@ index e3df71a695c..77b0bc4c4c8 100644 /* Reserve the memory */ server_enter_uninterrupted_section( &virtual_mutex, &sigset ); -@@ -4117,6 +4126,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ +@@ -4156,6 +4165,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ { if (type & MEM_COMMIT) vprot |= VPROT_COMMITTED; if (type & MEM_WRITE_WATCH) vprot |= VPROT_WRITEWATCH; @@ -311,7 +311,7 @@ index e3df71a695c..77b0bc4c4c8 100644 if (protect & PAGE_NOCACHE) vprot |= SEC_NOCACHE; if (vprot & VPROT_WRITECOPY) status = STATUS_INVALID_PAGE_PROTECTION; -@@ -4136,6 +4146,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ +@@ -4175,6 +4185,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ { if (!(view = find_view( base, size ))) status = STATUS_NOT_MAPPED_VIEW; else if (view->protect & SEC_FILE) status = STATUS_ALREADY_COMMITTED; @@ -319,7 +319,7 @@ index e3df71a695c..77b0bc4c4c8 100644 else if (!(status = set_protection( view, base, size, protect )) && (view->protect & SEC_RESERVE)) { SERVER_START_REQ( add_mapping_committed_range ) -@@ -4171,6 +4182,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ +@@ -4210,6 +4221,7 @@ static NTSTATUS allocate_virtual_memory( void **ret, SIZE_T *size_ptr, ULONG typ NTSTATUS WINAPI NtAllocateVirtualMemory( HANDLE process, PVOID *ret, ULONG_PTR zero_bits, SIZE_T *size_ptr, ULONG type, ULONG protect ) { @@ -327,7 +327,7 @@ index e3df71a695c..77b0bc4c4c8 100644 ULONG_PTR limit; TRACE("%p %p %08lx %x %08x\n", process, *ret, *size_ptr, (int)type, (int)protect ); -@@ -4182,6 +4194,12 @@ NTSTATUS WINAPI NtAllocateVirtualMemory( HANDLE process, PVOID *ret, ULONG_PTR z +@@ -4221,6 +4233,12 @@ NTSTATUS WINAPI NtAllocateVirtualMemory( HANDLE process, PVOID *ret, ULONG_PTR z if (!is_old_wow64() && zero_bits >= 32) return STATUS_INVALID_PARAMETER_3; #endif @@ -340,7 +340,7 @@ index e3df71a695c..77b0bc4c4c8 100644 if (process != NtCurrentProcess()) { apc_call_t call; -@@ -4284,6 +4302,8 @@ NTSTATUS WINAPI NtAllocateVirtualMemoryEx( HANDLE process, PVOID *ret, SIZE_T *s +@@ -4331,6 +4349,8 @@ NTSTATUS WINAPI NtAllocateVirtualMemoryEx( HANDLE process, PVOID *ret, SIZE_T *s ULONG protect, MEM_EXTENDED_PARAMETER *parameters, ULONG count ) { @@ -349,8 +349,8 @@ index e3df71a695c..77b0bc4c4c8 100644 ULONG_PTR limit = 0; ULONG_PTR align = 0; ULONG attributes = 0; -@@ -4295,6 +4315,12 @@ NTSTATUS WINAPI NtAllocateVirtualMemoryEx( HANDLE process, PVOID *ret, SIZE_T *s - status = get_extended_params( parameters, count, &limit, &align, &attributes ); +@@ -4343,6 +4363,12 @@ NTSTATUS WINAPI NtAllocateVirtualMemoryEx( HANDLE process, PVOID *ret, SIZE_T *s + status = get_extended_params( parameters, count, &limit, &align, &attributes, &machine ); if (status) return status; + if (type & ~type_mask) diff --git a/patches/ntdll-Placeholders/0007-ntdll-tests-Add-more-tests-for-placeholders.patch b/patches/ntdll-Placeholders/0007-ntdll-tests-Add-more-tests-for-placeholders.patch index 29a48f8f..79e3ee62 100644 --- a/patches/ntdll-Placeholders/0007-ntdll-tests-Add-more-tests-for-placeholders.patch +++ b/patches/ntdll-Placeholders/0007-ntdll-tests-Add-more-tests-for-placeholders.patch @@ -1,4 +1,4 @@ -From dc171d61ceb1aae3102063208de1b47ce58139d3 Mon Sep 17 00:00:00 2001 +From 0f2112fa71afccdebea36bdf357fd66a303ce870 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Wed, 9 Nov 2022 21:23:19 -0600 Subject: [PATCH] ntdll/tests: Add more tests for placeholders. @@ -34,7 +34,7 @@ index b629b61ea5d..e5185a2587d 100644 UnmapViewOfFile(view1); UnmapViewOfFile(view2); diff --git a/dlls/ntdll/tests/virtual.c b/dlls/ntdll/tests/virtual.c -index 03b9106bc6b..3307c19bbea 100644 +index 1718aaf30f9..45ba58868df 100644 --- a/dlls/ntdll/tests/virtual.c +++ b/dlls/ntdll/tests/virtual.c @@ -293,10 +293,14 @@ static void check_region_size_(void *p, SIZE_T s, unsigned int line) @@ -42,7 +42,7 @@ index 03b9106bc6b..3307c19bbea 100644 static void test_NtAllocateVirtualMemoryEx(void) { + MEMORY_BASIC_INFORMATION mbi; - MEM_EXTENDED_PARAMETER ext; + MEM_EXTENDED_PARAMETER ext[2]; + void *addresses[16]; SIZE_T size, size2; char *p, *p1, *p2; @@ -266,8 +266,8 @@ index 03b9106bc6b..3307c19bbea 100644 + ok(size2 == 0x8000, "Unexpected size %#Ix.\n", size2); + ok(p2 == p1 + size / 2, "Unexpected addr %p, expected %p.\n", p2, p1 + size / 2); - memset( &ext, 0, sizeof(ext) ); - ext.Type = MemExtendedParameterAttributeFlags; + memset( ext, 0, sizeof(ext) ); + ext[0].Type = MemExtendedParameterAttributeFlags; -- 2.40.1 diff --git a/patches/ntdll-Placeholders/0008-ntdll-Support-MEM_COALESCE_PLACEHOLDERS-in-NtFreeVir.patch b/patches/ntdll-Placeholders/0008-ntdll-Support-MEM_COALESCE_PLACEHOLDERS-in-NtFreeVir.patch index ecbe199b..6df600f3 100644 --- a/patches/ntdll-Placeholders/0008-ntdll-Support-MEM_COALESCE_PLACEHOLDERS-in-NtFreeVir.patch +++ b/patches/ntdll-Placeholders/0008-ntdll-Support-MEM_COALESCE_PLACEHOLDERS-in-NtFreeVir.patch @@ -1,4 +1,4 @@ -From e3fa80eae8154f4e621601d571306a96c71c285b Mon Sep 17 00:00:00 2001 +From c1a82d397f9bf6ba20fe6966a5b1d2209c49d44b Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 10 Nov 2022 19:02:50 -0600 Subject: [PATCH] ntdll: Support MEM_COALESCE_PLACEHOLDERS in @@ -10,13 +10,13 @@ Subject: [PATCH] ntdll: Support MEM_COALESCE_PLACEHOLDERS in 2 files changed, 122 insertions(+), 3 deletions(-) diff --git a/dlls/ntdll/tests/virtual.c b/dlls/ntdll/tests/virtual.c -index 3307c19bbea..c1e194f9e7d 100644 +index 45ba58868df..f5f1964e516 100644 --- a/dlls/ntdll/tests/virtual.c +++ b/dlls/ntdll/tests/virtual.c @@ -295,9 +295,9 @@ static void test_NtAllocateVirtualMemoryEx(void) { MEMORY_BASIC_INFORMATION mbi; - MEM_EXTENDED_PARAMETER ext; + MEM_EXTENDED_PARAMETER ext[2]; + char *p, *p1, *p2, *p3; void *addresses[16]; SIZE_T size, size2; @@ -114,7 +114,7 @@ index 3307c19bbea..c1e194f9e7d 100644 /* Split in two regions, specifying second half. */ addr1 = NULL; diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c -index 07c24a31592..f7f5e44fb57 100644 +index bdb213d968e..f5634e64021 100644 --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c @@ -114,6 +114,9 @@ struct file_view @@ -180,7 +180,7 @@ index 07c24a31592..f7f5e44fb57 100644 /*********************************************************************** * allocate_dos_memory * -@@ -4478,13 +4527,15 @@ NTSTATUS WINAPI NtFreeVirtualMemory( HANDLE process, PVOID *addr_ptr, SIZE_T *si +@@ -4526,13 +4575,15 @@ NTSTATUS WINAPI NtFreeVirtualMemory( HANDLE process, PVOID *addr_ptr, SIZE_T *si else if (!(view = find_view( base, 0 ))) status = STATUS_MEMORY_NOT_ALLOCATED; else if (!is_view_valloc( view )) status = STATUS_INVALID_PARAMETER; else if (!size && base != view->base) status = STATUS_FREE_VM_NOT_AT_BASE; diff --git a/patches/ntdll-Placeholders/0009-ntdll-Factor-out-unmap_view_of_section-function.patch b/patches/ntdll-Placeholders/0009-ntdll-Factor-out-unmap_view_of_section-function.patch index 5903bfa0..5b2a6503 100644 --- a/patches/ntdll-Placeholders/0009-ntdll-Factor-out-unmap_view_of_section-function.patch +++ b/patches/ntdll-Placeholders/0009-ntdll-Factor-out-unmap_view_of_section-function.patch @@ -1,4 +1,4 @@ -From cf1caf109030ac7b89dae57666ee084b23637a65 Mon Sep 17 00:00:00 2001 +From 9628228a974df1aaa3649ee8b80361d4ede75b06 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 11 Nov 2022 12:41:31 -0600 Subject: [PATCH] ntdll: Factor out unmap_view_of_section() function. @@ -8,11 +8,11 @@ Subject: [PATCH] ntdll: Factor out unmap_view_of_section() function. 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c -index f7f5e44fb57..71a5b294940 100644 +index f5634e64021..fe2e81fbe95 100644 --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c -@@ -5236,11 +5236,7 @@ NTSTATUS WINAPI NtMapViewOfSectionEx( HANDLE handle, HANDLE process, PVOID *addr - return virtual_map_section( handle, addr_ptr, limit, 0, offset_ptr, size_ptr, alloc_type, protect ); +@@ -5288,11 +5288,7 @@ NTSTATUS WINAPI NtMapViewOfSectionEx( HANDLE handle, HANDLE process, PVOID *addr + alloc_type, protect, machine ); } -/*********************************************************************** @@ -24,7 +24,7 @@ index f7f5e44fb57..71a5b294940 100644 { struct file_view *view; unsigned int status = STATUS_NOT_MAPPED_VIEW; -@@ -5297,6 +5293,15 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr ) +@@ -5349,6 +5345,15 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr ) return status; } @@ -40,7 +40,7 @@ index f7f5e44fb57..71a5b294940 100644 /*********************************************************************** * NtUnmapViewOfSectionEx (NTDLL.@) * ZwUnmapViewOfSectionEx (NTDLL.@) -@@ -5304,7 +5309,7 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr ) +@@ -5356,7 +5361,7 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr ) NTSTATUS WINAPI NtUnmapViewOfSectionEx( HANDLE process, PVOID addr, ULONG flags ) { if (flags) FIXME("Ignoring flags %#x.\n", (int)flags); diff --git a/patches/ntdll-Placeholders/0010-ntdll-Support-MEM_PRESERVE_PLACEHOLDER-in-NtUnmapVie.patch b/patches/ntdll-Placeholders/0010-ntdll-Support-MEM_PRESERVE_PLACEHOLDER-in-NtUnmapVie.patch index 2907a726..e1056621 100644 --- a/patches/ntdll-Placeholders/0010-ntdll-Support-MEM_PRESERVE_PLACEHOLDER-in-NtUnmapVie.patch +++ b/patches/ntdll-Placeholders/0010-ntdll-Support-MEM_PRESERVE_PLACEHOLDER-in-NtUnmapVie.patch @@ -1,4 +1,4 @@ -From 0242eb04e638bde912dec2c7ee189be12ad24b47 Mon Sep 17 00:00:00 2001 +From 5b6d1300eec9340cccf52cb7551878a82210c8fa Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 11 Nov 2022 12:54:19 -0600 Subject: [PATCH] ntdll: Support MEM_PRESERVE_PLACEHOLDER in @@ -114,10 +114,10 @@ index e5185a2587d..d70f947d6aa 100644 hmod = GetModuleHandleA("ntdll.dll"); diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c -index 469c012190c..f481a1394b8 100644 +index 5de4a7374bc..b3a8d79194f 100644 --- a/dlls/ntdll/unix/server.c +++ b/dlls/ntdll/unix/server.c -@@ -638,7 +638,7 @@ static void invoke_system_apc( const apc_call_t *call, apc_result_t *result, BOO +@@ -624,7 +624,7 @@ static void invoke_system_apc( const apc_call_t *call, apc_result_t *result, BOO result->type = call->type; addr = wine_server_get_ptr( call->unmap_view.addr ); if ((ULONG_PTR)addr == call->unmap_view.addr) @@ -127,11 +127,11 @@ index 469c012190c..f481a1394b8 100644 result->unmap_view.status = STATUS_INVALID_PARAMETER; break; diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c -index 71a5b294940..2e61e8ba22f 100644 +index fe2e81fbe95..fc120eaafc0 100644 --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c -@@ -5236,7 +5236,7 @@ NTSTATUS WINAPI NtMapViewOfSectionEx( HANDLE handle, HANDLE process, PVOID *addr - return virtual_map_section( handle, addr_ptr, limit, 0, offset_ptr, size_ptr, alloc_type, protect ); +@@ -5288,7 +5288,7 @@ NTSTATUS WINAPI NtMapViewOfSectionEx( HANDLE handle, HANDLE process, PVOID *addr + alloc_type, protect, machine ); } -NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) @@ -139,7 +139,7 @@ index 71a5b294940..2e61e8ba22f 100644 { struct file_view *view; unsigned int status = STATUS_NOT_MAPPED_VIEW; -@@ -5251,6 +5251,7 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) +@@ -5303,6 +5303,7 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) call.unmap_view.type = APC_UNMAP_VIEW; call.unmap_view.addr = wine_server_client_ptr( addr ); @@ -147,7 +147,7 @@ index 71a5b294940..2e61e8ba22f 100644 status = server_queue_process_apc( process, &call, &result ); if (status == STATUS_SUCCESS) status = result.unmap_view.status; return status; -@@ -5259,6 +5260,11 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) +@@ -5311,6 +5312,11 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) server_enter_uninterrupted_section( &virtual_mutex, &sigset ); if ((view = find_view( addr, 0 )) && !is_view_valloc( view )) { @@ -159,7 +159,7 @@ index 71a5b294940..2e61e8ba22f 100644 if (view->protect & VPROT_SYSTEM) { struct builtin_module *builtin; -@@ -5285,10 +5291,14 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) +@@ -5337,10 +5343,14 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) if (!status) { if (view->protect & SEC_IMAGE) release_builtin_module( view->base ); @@ -175,7 +175,7 @@ index 71a5b294940..2e61e8ba22f 100644 server_leave_uninterrupted_section( &virtual_mutex, &sigset ); return status; } -@@ -5299,7 +5309,7 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) +@@ -5351,7 +5361,7 @@ NTSTATUS unmap_view_of_section( HANDLE process, PVOID addr ) */ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr ) { @@ -184,7 +184,7 @@ index 71a5b294940..2e61e8ba22f 100644 } /*********************************************************************** -@@ -5309,7 +5319,7 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr ) +@@ -5361,7 +5371,7 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr ) NTSTATUS WINAPI NtUnmapViewOfSectionEx( HANDLE process, PVOID addr, ULONG flags ) { if (flags) FIXME("Ignoring flags %#x.\n", (int)flags); @@ -194,10 +194,10 @@ index 71a5b294940..2e61e8ba22f 100644 /****************************************************************************** diff --git a/server/protocol.def b/server/protocol.def -index 0515dcb2245..9c084fdfff7 100644 +index 4c8de97041c..40125371249 100644 --- a/server/protocol.def +++ b/server/protocol.def -@@ -615,6 +615,7 @@ typedef union +@@ -616,6 +616,7 @@ typedef union enum apc_type type; /* APC_UNMAP_VIEW */ int __pad; client_ptr_t addr; /* view address */ diff --git a/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch b/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch index 1429dd25..edcfc5df 100644 --- a/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch +++ b/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch @@ -1,4 +1,4 @@ -From e8a4c08a831329bf42e8b6a80519d013a899d5ef Mon Sep 17 00:00:00 2001 +From d0b6d8084015412dfca021f0aa2e889725609de9 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 25 Feb 2019 15:05:12 +0300 Subject: [PATCH] wined3d: Support SWVP vertex shader constants limit in state @@ -15,10 +15,10 @@ Subject: [PATCH] wined3d: Support SWVP vertex shader constants limit in state 7 files changed, 31 insertions(+), 20 deletions(-) diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c -index 0a95e819018..83d05cf8bc5 100644 +index 8ab52c7d5e4..4cd2a93f7e9 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c -@@ -6973,13 +6973,10 @@ static void test_vertex_shader_constant(void) +@@ -6989,13 +6989,10 @@ static void test_vertex_shader_constant(void) ok(consts_swvp == 8192, "Unexpected consts_swvp %lu.\n", consts_swvp); hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts + 0, c, 1); @@ -32,7 +32,7 @@ index 0a95e819018..83d05cf8bc5 100644 ok(hr == D3D_OK, "Got unexpected hr %#lx.\n", hr); hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts_swvp - 1, c, 1); ok(hr == D3D_OK, "Got unexpected hr %#lx.\n", hr); -@@ -7004,7 +7001,6 @@ static void test_vertex_shader_constant(void) +@@ -7020,7 +7017,6 @@ static void test_vertex_shader_constant(void) IDirect3DDevice9_SetSoftwareVertexProcessing(device, 0); hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts + 0, c, 1); @@ -40,7 +40,7 @@ index 0a95e819018..83d05cf8bc5 100644 ok(hr == D3D_OK, "Got unexpected hr %#lx.\n", hr); hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts_swvp - 1, c, 1); ok(hr == D3D_OK, "Got unexpected hr %#lx.\n", hr); -@@ -7012,7 +7008,6 @@ static void test_vertex_shader_constant(void) +@@ -7028,7 +7024,6 @@ static void test_vertex_shader_constant(void) IDirect3DDevice9_SetSoftwareVertexProcessing(device, 1); hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts + 0, c, 1); @@ -49,10 +49,10 @@ index 0a95e819018..83d05cf8bc5 100644 hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts_swvp - 1, c, 1); ok(hr == D3D_OK, "Got unexpected hr %#lx.\n", hr); diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c -index 230f7deabb2..6a62cddcb06 100644 +index cb0a2549b2e..f8f06fba45a 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c -@@ -25199,7 +25199,6 @@ static void test_mvp_software_vertex_shaders(void) +@@ -25234,7 +25234,6 @@ static void test_mvp_software_vertex_shaders(void) hr = IDirect3DDevice9_SetVertexShaderConstantF(device, 0, c_index, 1); ok(SUCCEEDED(hr), "Got unexpected hr %#lx.\n", hr); hr = IDirect3DDevice9_SetVertexShaderConstantF(device, (unsigned int)c_index[0], c_color, 1); @@ -61,10 +61,10 @@ index 230f7deabb2..6a62cddcb06 100644 hr = IDirect3DDevice9_BeginScene(device); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index 8be63df577a..28c8fb09d0d 100644 +index 0d9f49f8096..fa7680a6054 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -3922,7 +3922,7 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, +@@ -3918,7 +3918,7 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, const struct wined3d_saved_states *changed = &stateblock->changed; const unsigned int word_bit_count = sizeof(DWORD) * CHAR_BIT; struct wined3d_device_context *context = &device->cs->c; @@ -73,7 +73,7 @@ index 8be63df577a..28c8fb09d0d 100644 bool set_depth_bounds = false; struct wined3d_range range; uint32_t map; -@@ -3934,9 +3934,11 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, +@@ -3930,9 +3930,11 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, if (changed->pixelShader) wined3d_device_context_set_shader(context, WINED3D_SHADER_TYPE_PIXEL, state->ps); @@ -87,10 +87,10 @@ index 8be63df577a..28c8fb09d0d 100644 wined3d_device_set_vs_consts_f(device, range.offset, range.size, &state->vs_consts_f[range.offset]); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 1422871a2b3..53de4803a3f 100644 +index 4a131487b16..5bc15ca0389 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c -@@ -1905,7 +1905,7 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev +@@ -1903,7 +1903,7 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev if (priv->consts_ubo) return; @@ -100,10 +100,10 @@ index 1422871a2b3..53de4803a3f 100644 update_heap_entry(heap, i, priv->next_constant_version); } diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c -index 16f58b726d0..f0ad28d37a0 100644 +index 3d6edbfa7f3..edf4ae8a6b2 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c -@@ -731,8 +731,8 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, +@@ -726,8 +726,8 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, const struct wined3d_stateblock *device_state) { const struct wined3d_stateblock_state *state = &device_state->stateblock_state; @@ -113,7 +113,7 @@ index 16f58b726d0..f0ad28d37a0 100644 uint32_t map; TRACE("stateblock %p, device_state %p.\n", stateblock, device_state); -@@ -748,9 +748,11 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, +@@ -743,9 +743,11 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, stateblock->stateblock_state.vs = state->vs; } @@ -126,7 +126,7 @@ index 16f58b726d0..f0ad28d37a0 100644 break; memcpy(&stateblock->stateblock_state.vs_consts_f[range.offset], &state->vs_consts_f[range.offset], -@@ -995,7 +997,7 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, +@@ -990,7 +992,7 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, { const struct wined3d_stateblock_state *state = &stateblock->stateblock_state; struct wined3d_range range; @@ -135,7 +135,7 @@ index 16f58b726d0..f0ad28d37a0 100644 uint32_t map; TRACE("stateblock %p, device_state %p.\n", stateblock, device_state); -@@ -1005,9 +1007,11 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, +@@ -1000,9 +1002,11 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, if (stateblock->changed.pixelShader) wined3d_stateblock_set_pixel_shader(device_state, state->ps); @@ -148,7 +148,7 @@ index 16f58b726d0..f0ad28d37a0 100644 break; wined3d_stateblock_set_vs_consts_f(device_state, range.offset, range.size, &state->vs_consts_f[range.offset]); } -@@ -1199,12 +1203,14 @@ static void wined3d_bitmap_set_bits(uint32_t *bitmap, unsigned int start, unsign +@@ -1191,12 +1195,14 @@ static void wined3d_bitmap_set_bits(uint32_t *bitmap, unsigned int start, unsign HRESULT CDECL wined3d_stateblock_set_vs_consts_f(struct wined3d_stateblock *stateblock, unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants) { @@ -165,18 +165,18 @@ index 16f58b726d0..f0ad28d37a0 100644 return WINED3DERR_INVALIDCALL; memcpy(&stateblock->stateblock_state.vs_consts_f[start_idx], constants, count * sizeof(*constants)); -@@ -2017,7 +2023,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru - stateblock_init_lights(stateblock->stateblock_state.light_state->light_map, - device_state->stateblock_state.light_state->light_map); +@@ -2012,7 +2018,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru + case WINED3D_SBT_ALL: + stateblock_init_lights(stateblock, &device_state->stateblock_state.light_state->lights_tree); stateblock_savedstates_set_all(&stateblock->changed, - d3d_info->limits.vs_uniform_count, d3d_info->limits.ps_uniform_count); + d3d_info->limits.vs_uniform_count_swvp, d3d_info->limits.ps_uniform_count); break; case WINED3D_SBT_PIXEL_STATE: -@@ -2029,7 +2035,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru - stateblock_init_lights(stateblock->stateblock_state.light_state->light_map, - device_state->stateblock_state.light_state->light_map); +@@ -2023,7 +2029,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru + case WINED3D_SBT_VERTEX_STATE: + stateblock_init_lights(stateblock, &device_state->stateblock_state.light_state->lights_tree); stateblock_savedstates_set_vertex(&stateblock->changed, - d3d_info->limits.vs_uniform_count); + d3d_info->limits.vs_uniform_count_swvp); @@ -184,10 +184,10 @@ index 16f58b726d0..f0ad28d37a0 100644 default: diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 27811745370..2772c130bc7 100644 +index 260ec1f110b..ced592fd699 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -3906,7 +3906,7 @@ struct wined3d_state +@@ -3917,7 +3917,7 @@ struct wined3d_state struct wined3d_shader_resource_view *shader_resource_view[WINED3D_SHADER_TYPE_COUNT][MAX_SHADER_RESOURCE_VIEWS]; struct wined3d_unordered_access_view *unordered_access_view[WINED3D_PIPELINE_COUNT][MAX_UNORDERED_ACCESS_VIEWS]; @@ -196,7 +196,7 @@ index 27811745370..2772c130bc7 100644 struct wined3d_ivec4 vs_consts_i[WINED3D_MAX_CONSTS_I]; BOOL vs_consts_b[WINED3D_MAX_CONSTS_B]; -@@ -4090,6 +4090,15 @@ static inline void wined3d_device_bo_map_unlock(struct wined3d_device *device) +@@ -4101,6 +4101,15 @@ static inline void wined3d_device_bo_map_unlock(struct wined3d_device *device) LeaveCriticalSection(&device->bo_map_lock); } @@ -212,7 +212,7 @@ index 27811745370..2772c130bc7 100644 struct wined3d_device_no3d { struct wined3d_device d; -@@ -4978,7 +4987,7 @@ struct wined3d_vertex_declaration +@@ -4991,7 +5000,7 @@ struct wined3d_vertex_declaration struct wined3d_saved_states { @@ -222,7 +222,7 @@ index 27811745370..2772c130bc7 100644 WORD vertexShaderConstantsB; /* WINED3D_MAX_CONSTS_B, 16 */ uint32_t ps_consts_f[WINED3D_BITMAP_SIZE(WINED3D_MAX_PS_CONSTS_F)]; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 0ce807fc5c8..ba8e8759a58 100644 +index 53430c6530a..c2daace03d7 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2162,7 +2162,7 @@ struct wined3d_stateblock_state @@ -235,5 +235,5 @@ index 0ce807fc5c8..ba8e8759a58 100644 BOOL vs_consts_b[WINED3D_MAX_CONSTS_B]; -- -2.39.1 +2.40.1 diff --git a/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch b/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch index b32308a0..98706b91 100644 --- a/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch +++ b/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch @@ -1,4 +1,4 @@ -From 322b0ade65ffd9f5e8cfdcd7faaaf5a3826c9ce4 Mon Sep 17 00:00:00 2001 +From f4c7ba985b14b3e8779beea13256f8759519a67b Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Tue, 23 Sep 2014 23:22:17 +0800 Subject: [PATCH] winex11.drv: Update a candidate window's position with @@ -26,10 +26,10 @@ received a lot of help from Sebastian Lackner. 6 files changed, 83 insertions(+) diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c -index a2ac8fbf815..ffd0c0e6e5a 100644 +index d80b95499fa..0946e8470bb 100644 --- a/dlls/win32u/driver.c +++ b/dlls/win32u/driver.c -@@ -910,6 +910,11 @@ static struct opengl_funcs *nulldrv_wine_get_wgl_driver( UINT version ) +@@ -924,6 +924,11 @@ static struct opengl_funcs *nulldrv_wine_get_wgl_driver( UINT version ) return (void *)-1; } @@ -41,7 +41,7 @@ index a2ac8fbf815..ffd0c0e6e5a 100644 static void nulldrv_ThreadDetach( void ) { } -@@ -1225,6 +1230,7 @@ static const struct user_driver_funcs lazy_load_driver = +@@ -1257,6 +1262,7 @@ static const struct user_driver_funcs lazy_load_driver = loaderdrv_wine_get_vulkan_driver, /* opengl support */ nulldrv_wine_get_wgl_driver, @@ -49,7 +49,7 @@ index a2ac8fbf815..ffd0c0e6e5a 100644 /* thread management */ nulldrv_ThreadDetach, }; -@@ -1298,6 +1304,7 @@ void __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT version +@@ -1333,6 +1339,7 @@ void __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT version SET_USER_FUNC(SystemParametersInfo); SET_USER_FUNC(wine_get_vulkan_driver); SET_USER_FUNC(wine_get_wgl_driver); @@ -58,7 +58,7 @@ index a2ac8fbf815..ffd0c0e6e5a 100644 #undef SET_USER_FUNC diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c -index f1eb5f3a8ca..31ed6a62812 100644 +index a900f6f553c..d1b74538ade 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2320,6 +2320,7 @@ BOOL set_caret_pos( int x, int y ) @@ -78,10 +78,10 @@ index f1eb5f3a8ca..31ed6a62812 100644 } return ret; diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c -index 2d056a359ef..eb57a2fcffb 100644 +index 14035b338dc..8ba0de64ec8 100644 --- a/dlls/winex11.drv/init.c +++ b/dlls/winex11.drv/init.c -@@ -439,6 +439,7 @@ static const struct user_driver_funcs x11drv_funcs = +@@ -441,6 +441,7 @@ static const struct user_driver_funcs x11drv_funcs = .pSystemParametersInfo = X11DRV_SystemParametersInfo, .pwine_get_vulkan_driver = X11DRV_wine_get_vulkan_driver, .pwine_get_wgl_driver = X11DRV_wine_get_wgl_driver, @@ -90,10 +90,10 @@ index 2d056a359ef..eb57a2fcffb 100644 }; diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h -index d5b0855035b..85a20c1e7c5 100644 +index 049737003f0..3e5a630f01e 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h -@@ -253,6 +253,7 @@ extern void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flag +@@ -256,6 +256,7 @@ extern void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flag struct window_surface *surface ) DECLSPEC_HIDDEN; extern BOOL X11DRV_SystemParametersInfo( UINT action, UINT int_param, void *ptr_param, UINT flags ) DECLSPEC_HIDDEN; @@ -102,10 +102,10 @@ index d5b0855035b..85a20c1e7c5 100644 /* X11 driver internal functions */ diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c -index b7f5f696ba5..51fb6bdff62 100644 +index 1c3d2dd9875..5c336522b9b 100644 --- a/dlls/winex11.drv/xim.c +++ b/dlls/winex11.drv/xim.c -@@ -34,6 +34,7 @@ +@@ -36,6 +36,7 @@ #include "x11drv.h" #include "imm.h" #include "wine/debug.h" @@ -113,8 +113,8 @@ index b7f5f696ba5..51fb6bdff62 100644 WINE_DEFAULT_DEBUG_CHANNEL(xim); -@@ -432,6 +433,49 @@ void xim_thread_attach( struct x11drv_thread_data *data ) - else XRegisterIMInstantiateCallback( display, NULL, NULL, NULL, xim_open, (XPointer)data ); +@@ -436,6 +437,49 @@ void xim_thread_attach( struct x11drv_thread_data *data ) + XRegisterIMInstantiateCallback( display, NULL, NULL, NULL, xim_open, (XPointer)data ); } +/*********************************************************************** @@ -163,7 +163,7 @@ index b7f5f696ba5..51fb6bdff62 100644 static BOOL xic_destroy( XIC xic, XPointer user, XPointer arg ) { struct x11drv_win_data *data; -@@ -485,6 +529,32 @@ static XIC xic_create( XIM xim, HWND hwnd, Window win ) +@@ -489,6 +533,32 @@ static XIC xic_create( XIM xim, HWND hwnd, Window win ) XFree( preedit ); XFree( status ); @@ -197,10 +197,10 @@ index b7f5f696ba5..51fb6bdff62 100644 } diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h -index 1ffaa409c72..219eb75d3de 100644 +index 30b792a0232..4a27fb1e823 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h -@@ -334,6 +334,8 @@ struct user_driver_funcs +@@ -339,6 +339,8 @@ struct user_driver_funcs const struct vulkan_funcs * (*pwine_get_vulkan_driver)(UINT); /* opengl support */ struct opengl_funcs * (*pwine_get_wgl_driver)(UINT); @@ -210,5 +210,5 @@ index 1ffaa409c72..219eb75d3de 100644 void (*pThreadDetach)(void); }; -- -2.40.0 +2.40.1 diff --git a/staging/upstream-commit b/staging/upstream-commit index abd4a95a..d70394d2 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -d54e7cd51db7d3def7dab549a547b1b6bf7573e2 +f266dc094a9b4fbe95792ed706891609901834e3