From 3dfacea342c956ca8e2b2b7d7da339636f56eed1 Mon Sep 17 00:00:00 2001 From: Elizabeth Figura Date: Tue, 24 Sep 2024 11:33:47 -0500 Subject: [PATCH] Rebase against b6196159becb194a56434061fe3bba239863b783. --- ...mat-description-for-X8L8V8U8-for-for.patch | 24 --------------- patches/d3dx9_36-BumpLuminance/definition | 1 - ...t-HashLinks-field-in-LDR-module-data.patch | 30 ++++++++++--------- ...basic-tests-for-RtlQueryPackageIdent.patch | 18 +++++------ staging/upstream-commit | 2 +- 5 files changed, 26 insertions(+), 49 deletions(-) delete mode 100644 patches/d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch delete mode 100644 patches/d3dx9_36-BumpLuminance/definition diff --git a/patches/d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch b/patches/d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch deleted file mode 100644 index d3171f52..00000000 --- a/patches/d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 170a6d9df910f617585791df31aa72b79622ed0b Mon Sep 17 00:00:00 2001 -From: Christian Costa -Date: Mon, 16 May 2016 13:20:39 +0200 -Subject: d3dx9_36: Add format description for X8L8V8U8 for format conversions. - ---- - dlls/d3dx9_36/util.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dlls/d3dx9_36/util.c b/dlls/d3dx9_36/util.c -index d8cd43a..12b9c2c 100644 ---- a/dlls/d3dx9_36/util.c -+++ b/dlls/d3dx9_36/util.c -@@ -90,6 +90,7 @@ static const struct pixel_format_desc formats[] = - {D3DFMT_G32R32F, { 0, 32, 32, 0}, { 0, 0, 32, 0}, 8, 1, 1, 8, FORMAT_ARGBF, NULL, NULL }, - {D3DFMT_A32B32G32R32F, {32, 32, 32, 32}, {96, 0, 32, 64}, 16, 1, 1, 16, FORMAT_ARGBF, NULL, NULL }, - {D3DFMT_P8, { 8, 8, 8, 8}, { 0, 0, 0, 0}, 1, 1, 1, 1, FORMAT_INDEX, NULL, index_to_rgba}, -+ {D3DFMT_X8L8V8U8, { 0, 8, 8, 8}, { 0, 0, 8, 16}, 4, 1, 1, 4, FORMAT_ARGB, NULL, NULL }, - /* marks last element */ - {D3DFMT_UNKNOWN, { 0, 0, 0, 0}, { 0, 0, 0, 0}, 0, 1, 1, 0, FORMAT_UNKNOWN, NULL, NULL }, - }; --- -2.8.0 - diff --git a/patches/d3dx9_36-BumpLuminance/definition b/patches/d3dx9_36-BumpLuminance/definition deleted file mode 100644 index c99a5b22..00000000 --- a/patches/d3dx9_36-BumpLuminance/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Recognize bump luminance X8L8V8U8 when loading dds file diff --git a/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch b/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch index 9d02593d..11597692 100644 --- a/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch +++ b/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch @@ -1,4 +1,4 @@ -From ee26472916e2196456c0c59fb8ca04ee362f148a Mon Sep 17 00:00:00 2001 +From d1f5c52e07bce357d3b471e839db2a6f7a72fa86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 3 Apr 2017 05:30:27 +0200 Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data. @@ -9,7 +9,7 @@ Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data. 2 files changed, 117 insertions(+) diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c -index 8b332e479e6..08cb3d3f8ce 100644 +index 9b0f8f6bff2..747dfb0afa6 100644 --- a/dlls/kernel32/tests/loader.c +++ b/dlls/kernel32/tests/loader.c @@ -28,6 +28,7 @@ @@ -20,7 +20,7 @@ index 8b332e479e6..08cb3d3f8ce 100644 #include "wine/test.h" #include "delayloadhandler.h" -@@ -4641,6 +4642,79 @@ static void test_Wow64Transition(void) +@@ -4651,6 +4652,79 @@ static void test_Wow64Transition(void) debugstr_wn(name->SectionFileName.Buffer, name->SectionFileName.Length / sizeof(WCHAR))); } @@ -100,7 +100,7 @@ index 8b332e479e6..08cb3d3f8ce 100644 START_TEST(loader) { int argc; -@@ -4723,6 +4797,7 @@ START_TEST(loader) +@@ -4734,6 +4808,7 @@ START_TEST(loader) test_InMemoryOrderModuleList(); test_LoadPackagedLibrary(); test_wow64_redirection(); @@ -109,7 +109,7 @@ index 8b332e479e6..08cb3d3f8ce 100644 test_dll_file( "kernel32.dll" ); test_dll_file( "advapi32.dll" ); diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index 5f84ca7e23b..4da48a82d74 100644 +index 0ed37ad390c..94610a82a65 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c @@ -128,6 +128,9 @@ struct file_id @@ -122,8 +122,8 @@ index 5f84ca7e23b..4da48a82d74 100644 /* internal representation of loaded modules */ typedef struct _wine_modref { -@@ -556,6 +559,33 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module ) - } +@@ -603,6 +606,33 @@ static int base_address_compare( const void *key, const RTL_BALANCED_NODE *entry + return 0; } +/************************************************************************* @@ -156,12 +156,14 @@ index 5f84ca7e23b..4da48a82d74 100644 /************************************************************************* * get_modref * -@@ -1557,7 +1587,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name +@@ -1599,9 +1629,14 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name &wm->ldr.InLoadOrderLinks); InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList, &wm->ldr.InMemoryOrderLinks); + InsertTailList(&hash_table[hash_basename(wm->ldr.BaseDllName.Buffer)], + &wm->ldr.HashLinks); + if (rtl_rb_tree_put( &base_address_index_tree, wm->ldr.DllBase, &wm->ldr.BaseAddressIndexNode, base_address_compare )) + ERR( "rtl_rb_tree_put failed.\n" ); + /* wait until init is called for inserting into InInitializationOrderModuleList */ + wm->ldr.InInitializationOrderLinks.Flink = NULL; @@ -169,23 +171,23 @@ index 5f84ca7e23b..4da48a82d74 100644 if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT)) { -@@ -2253,6 +2288,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name, +@@ -2299,6 +2334,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); + RemoveEntryList(&wm->ldr.HashLinks); + RtlRbRemoveNode( &base_address_index_tree, &wm->ldr.BaseAddressIndexNode ); /* FIXME: there are several more dangling references - * left. Including dlls loaded by this dll before the -@@ -3916,6 +3952,7 @@ static void free_modref( WINE_MODREF *wm ) +@@ -3963,6 +3999,7 @@ static void free_modref( WINE_MODREF *wm ) RemoveEntryList(&wm->ldr.InLoadOrderLinks); RemoveEntryList(&wm->ldr.InMemoryOrderLinks); + RemoveEntryList(&wm->ldr.HashLinks); + RtlRbRemoveNode( &base_address_index_tree, &wm->ldr.BaseAddressIndexNode ); if (wm->ldr.InInitializationOrderLinks.Flink) RemoveEntryList(&wm->ldr.InInitializationOrderLinks); - -@@ -4336,6 +4373,7 @@ void loader_init( CONTEXT *context, void **entry ) +@@ -4384,6 +4421,7 @@ void loader_init( CONTEXT *context, void **entry ) ANSI_STRING ctrl_routine = RTL_CONSTANT_STRING( "CtrlRoutine" ); WINE_MODREF *kernel32; PEB *peb = NtCurrentTeb()->Peb; @@ -193,7 +195,7 @@ index 5f84ca7e23b..4da48a82d74 100644 peb->LdrData = &ldr; peb->FastPebLock = &peb_lock; -@@ -4354,6 +4392,10 @@ void loader_init( CONTEXT *context, void **entry ) +@@ -4402,6 +4440,10 @@ void loader_init( CONTEXT *context, void **entry ) if (!(tls_dirs = RtlAllocateHeap( GetProcessHeap(), HEAP_ZERO_MEMORY, tls_module_count * sizeof(*tls_dirs) ))) NtTerminateProcess( GetCurrentProcess(), STATUS_NO_MEMORY ); diff --git a/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch b/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch index c995cf59..30533e59 100644 --- a/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch +++ b/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch @@ -1,4 +1,4 @@ -From 4aea41b4f635ab83ad6ac571b04ca0f8f00310ab Mon Sep 17 00:00:00 2001 +From e062c6f139f716fe0e95a26e5016aa4f94087146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 17 Jan 2016 00:50:50 +0100 Subject: [PATCH] ntdll/tests: Add basic tests for RtlQueryPackageIdentity. @@ -20,20 +20,20 @@ index 3742968c415..084469a2820 100644 SOURCES = \ atom.c \ diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index e678f7f43a0..71a413d9f18 100644 +index d013848c07a..f239575d13e 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c -@@ -36,6 +36,9 @@ - #include "ddk/ntifs.h" +@@ -37,6 +37,9 @@ #include "wine/test.h" #include "wine/asm.h" + #include "wine/rbtree.h" +#include "initguid.h" +#define COBJMACROS +#include "shobjidl.h" #ifndef __WINE_WINTERNL_H -@@ -104,6 +107,9 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION +@@ -105,6 +108,9 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG); static void * (WINAPI *pRtlFindExportedRoutineByName)(HMODULE,const char *); static NTSTATUS (WINAPI *pLdrEnumerateLoadedModules)(void *, void *, void *); @@ -43,7 +43,7 @@ index e678f7f43a0..71a413d9f18 100644 static NTSTATUS (WINAPI *pLdrRegisterDllNotification)(ULONG, PLDR_DLL_NOTIFICATION_FUNCTION, void *, void **); static NTSTATUS (WINAPI *pLdrUnregisterDllNotification)(void *); static VOID (WINAPI *pRtlGetDeviceFamilyInfoEnum)(ULONGLONG *,DWORD *,DWORD *); -@@ -148,6 +154,9 @@ static void InitFunctionPtrs(void) +@@ -152,6 +158,9 @@ static void InitFunctionPtrs(void) pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx"); pRtlFindExportedRoutineByName = (void *)GetProcAddress(hntdll, "RtlFindExportedRoutineByName"); pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules"); @@ -53,7 +53,7 @@ index e678f7f43a0..71a413d9f18 100644 pLdrRegisterDllNotification = (void *)GetProcAddress(hntdll, "LdrRegisterDllNotification"); pLdrUnregisterDllNotification = (void *)GetProcAddress(hntdll, "LdrUnregisterDllNotification"); pRtlGetDeviceFamilyInfoEnum = (void *)GetProcAddress(hntdll, "RtlGetDeviceFamilyInfoEnum"); -@@ -3708,6 +3717,76 @@ static void test_RtlFirstFreeAce(void) +@@ -3714,6 +3723,76 @@ static void test_RtlFirstFreeAce(void) HeapFree(GetProcessHeap(), 0, acl); } @@ -130,7 +130,7 @@ index e678f7f43a0..71a413d9f18 100644 static void test_RtlInitializeSid(void) { SID_IDENTIFIER_AUTHORITY sid_ident = { SECURITY_NT_AUTHORITY }; -@@ -3823,6 +3902,7 @@ START_TEST(rtl) +@@ -3970,6 +4049,7 @@ START_TEST(rtl) test_RtlInitializeCriticalSectionEx(); test_RtlLeaveCriticalSection(); test_LdrEnumerateLoadedModules(); @@ -139,5 +139,5 @@ index e678f7f43a0..71a413d9f18 100644 test_LdrRegisterDllNotification(); test_DbgPrint(); -- -2.43.0 +2.45.2 diff --git a/staging/upstream-commit b/staging/upstream-commit index 8cd52991..0bd20730 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -42af68b8b7cf066a1738c483e8ea1b5bf3b15887 +b6196159becb194a56434061fe3bba239863b783