From 64fcc42ee57bbf8a21f13d4611460c636bcfe06d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Fri, 30 May 2014 20:40:02 +0000 Subject: [PATCH 001/120] [NTOS:CM] - Add a DPRINT1 in CmCheckRegistry because it is unimplemented, and give the CheckFlags value to CmCheckRegistry, when it is called in CmpInitializeHive. - Give the CheckFlags value to CmpInitializeHive, when it is called in CmpInitHiveFromFile. - Really mention that the CmCreateRootNode call is a HACK for ROS. svn path=/trunk/; revision=63505 --- reactos/ntoskrnl/config/cmcheck.c | 1 + reactos/ntoskrnl/config/cminit.c | 3 ++- reactos/ntoskrnl/config/cmsysini.c | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/config/cmcheck.c b/reactos/ntoskrnl/config/cmcheck.c index d166ff48d60..4172dddc332 100644 --- a/reactos/ntoskrnl/config/cmcheck.c +++ b/reactos/ntoskrnl/config/cmcheck.c @@ -22,5 +22,6 @@ CmCheckRegistry(IN PCMHIVE RegistryHive, IN ULONG Flags) { /* FIXME: HACK! */ + DPRINT1("CmCheckRegistry(0x%p, %lu) is UNIMPLEMENTED!\n", RegistryHive, Flags); return 0; } diff --git a/reactos/ntoskrnl/config/cminit.c b/reactos/ntoskrnl/config/cminit.c index 8689e8eab5d..147ba73d993 100644 --- a/reactos/ntoskrnl/config/cminit.c +++ b/reactos/ntoskrnl/config/cminit.c @@ -214,7 +214,8 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive, (OperationType == HINIT_MAPFILE)) { /* Verify integrity */ - if (CmCheckRegistry((PCMHIVE)Hive, TRUE)) + ULONG CheckStatus = CmCheckRegistry(Hive, CheckFlags); + if (CheckStatus != 0) { /* Cleanup allocations and fail */ ExFreePoolWithTag(Hive->FlusherLock, TAG_CM); diff --git a/reactos/ntoskrnl/config/cmsysini.c b/reactos/ntoskrnl/config/cmsysini.c index 45242d28388..f0a7d7e5a0f 100644 --- a/reactos/ntoskrnl/config/cmsysini.c +++ b/reactos/ntoskrnl/config/cmsysini.c @@ -358,7 +358,7 @@ CmpInitHiveFromFile(IN PCUNICODE_STRING HiveName, LogHandle, NULL, HiveName, - 0); + CheckFlags); if (!NT_SUCCESS(Status)) { /* Fail */ @@ -370,7 +370,7 @@ CmpInitHiveFromFile(IN PCUNICODE_STRING HiveName, /* Success, return hive */ *Hive = NewHive; - /* ROS: Init root key cell and prepare the hive */ + /* HACK: ROS: Init root key cell and prepare the hive */ if (Operation == HINIT_CREATE) CmCreateRootNode(&NewHive->Hive, L""); /* Duplicate the hive name */ From a5a69f46e6709eff413bebdb303556d862ffce9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Fri, 30 May 2014 21:47:22 +0000 Subject: [PATCH 002/120] [NTOS:CM] Replace a hardcoded value with something more readable. svn path=/trunk/; revision=63506 --- reactos/ntoskrnl/config/cmkcbncb.c | 2 +- reactos/ntoskrnl/config/cmparse.c | 4 ++-- reactos/ntoskrnl/config/cmsysini.c | 6 +++--- reactos/ntoskrnl/include/internal/cm.h | 5 +++++ 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/reactos/ntoskrnl/config/cmkcbncb.c b/reactos/ntoskrnl/config/cmkcbncb.c index 77e4e83312b..199102264a0 100644 --- a/reactos/ntoskrnl/config/cmkcbncb.c +++ b/reactos/ntoskrnl/config/cmkcbncb.c @@ -1164,7 +1164,7 @@ CmpFlushNotifiesOnKeyBodyList(IN PCM_KEY_CONTROL_BLOCK Kcb, { /* Get the key body */ KeyBody = CONTAINING_RECORD(NextEntry, CM_KEY_BODY, KeyBodyList); - ASSERT(KeyBody->Type == '20yk'); + ASSERT(KeyBody->Type == CM_KEY_BODY_TYPE); /* Check for notifications */ if (KeyBody->NotifyBlock) diff --git a/reactos/ntoskrnl/config/cmparse.c b/reactos/ntoskrnl/config/cmparse.c index acf5e2416fe..67e2f3b2408 100644 --- a/reactos/ntoskrnl/config/cmparse.c +++ b/reactos/ntoskrnl/config/cmparse.c @@ -286,7 +286,7 @@ CmpDoCreateChild(IN PHHIVE Hive, /* Setup the key body */ KeyBody = (PCM_KEY_BODY)(*Object); - KeyBody->Type = '20yk'; + KeyBody->Type = CM_KEY_BODY_TYPE; KeyBody->KeyControlBlock = NULL; /* Check if we had a class */ @@ -691,7 +691,7 @@ CmpDoOpen(IN PHHIVE Hive, /* Get the key body and fill it out */ KeyBody = (PCM_KEY_BODY)(*Object); KeyBody->KeyControlBlock = Kcb; - KeyBody->Type = '20yk'; + KeyBody->Type = CM_KEY_BODY_TYPE; KeyBody->ProcessID = PsGetCurrentProcessId(); KeyBody->NotifyBlock = NULL; diff --git a/reactos/ntoskrnl/config/cmsysini.c b/reactos/ntoskrnl/config/cmsysini.c index f0a7d7e5a0f..4201fd2f6a7 100644 --- a/reactos/ntoskrnl/config/cmsysini.c +++ b/reactos/ntoskrnl/config/cmsysini.c @@ -129,7 +129,7 @@ CmpDeleteKeyObject(PVOID DeletedObject) CmpLockRegistry(); /* Make sure this is a valid key body */ - if (KeyBody->Type == '20yk') + if (KeyBody->Type == CM_KEY_BODY_TYPE) { /* Get the KCB */ Kcb = KeyBody->KeyControlBlock; @@ -166,7 +166,7 @@ CmpCloseKeyObject(IN PEPROCESS Process OPTIONAL, if (SystemHandleCount > 1) return; /* Make sure we're a valid key body */ - if (KeyBody->Type == '20yk') + if (KeyBody->Type == CM_KEY_BODY_TYPE) { /* Don't do anything if we don't have a notify block */ if (!KeyBody->NotifyBlock) return; @@ -1056,7 +1056,7 @@ CmpCreateRegistryRoot(VOID) /* Initialize the object */ RootKey->KeyControlBlock = Kcb; - RootKey->Type = '20yk'; + RootKey->Type = CM_KEY_BODY_TYPE; RootKey->NotifyBlock = NULL; RootKey->ProcessID = PsGetCurrentProcessId(); diff --git a/reactos/ntoskrnl/include/internal/cm.h b/reactos/ntoskrnl/include/internal/cm.h index d4d7c9e5156..90c6fd15ac5 100644 --- a/reactos/ntoskrnl/include/internal/cm.h +++ b/reactos/ntoskrnl/include/internal/cm.h @@ -60,6 +60,11 @@ #define CM_KCB_INVALID_CACHED_INFO 0x40 #define CM_KCB_READ_ONLY_KEY 0x80 +// +// CM_KEY_BODY Types +// +#define CM_KEY_BODY_TYPE 0x6B793032 + // // CM_KEY_VALUE Types // From 2996e28ecd6bcdd09285ee05a872eaa7443a8cef Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Sat, 31 May 2014 01:14:02 +0000 Subject: [PATCH 003/120] [NTDLL_APITESTS] Add tests for NtSaveKey. svn path=/trunk/; revision=63507 --- rostests/apitests/ntdll/CMakeLists.txt | 1 + rostests/apitests/ntdll/NtSaveKey.c | 131 +++++++++++++++++++++++++ rostests/apitests/ntdll/testlist.c | 2 + 3 files changed, 134 insertions(+) create mode 100644 rostests/apitests/ntdll/NtSaveKey.c diff --git a/rostests/apitests/ntdll/CMakeLists.txt b/rostests/apitests/ntdll/CMakeLists.txt index b0a13e45b4a..8891df5f712 100644 --- a/rostests/apitests/ntdll/CMakeLists.txt +++ b/rostests/apitests/ntdll/CMakeLists.txt @@ -11,6 +11,7 @@ list(APPEND SOURCE NtProtectVirtualMemory.c NtQuerySystemEnvironmentValue.c NtQueryVolumeInformationFile.c + NtSaveKey.c RtlBitmap.c RtlDetermineDosPathNameType.c RtlDoesFileExists.c diff --git a/rostests/apitests/ntdll/NtSaveKey.c b/rostests/apitests/ntdll/NtSaveKey.c new file mode 100644 index 00000000000..cea42251423 --- /dev/null +++ b/rostests/apitests/ntdll/NtSaveKey.c @@ -0,0 +1,131 @@ +/* + * PROJECT: ReactOS API Tests + * LICENSE: GPLv2+ - See COPYING in the top level directory + * PURPOSE: Test for NtSaveKey + * PROGRAMMERS: Aleksandar Andrejevic + */ + +#include + +#define WIN32_NO_STATUS +#include +#include +#include +#include + +static +NTSTATUS +OpenRegistryKeyHandle(PHANDLE KeyHandle, + ACCESS_MASK AccessMask, + PWCHAR RegistryPath) +{ + UNICODE_STRING KeyName; + OBJECT_ATTRIBUTES Attributes; + + RtlInitUnicodeString(&KeyName, RegistryPath); + InitializeObjectAttributes(&Attributes, + &KeyName, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); + + return NtOpenKey(KeyHandle, AccessMask, &Attributes); +} + +START_TEST(NtSaveKey) +{ + NTSTATUS Status; + HANDLE KeyHandle; + HANDLE FileHandle; + BOOLEAN OldPrivilegeStatus; + + /* Open the file */ + FileHandle = CreateFileW(L"saved_key.dat", + GENERIC_READ | GENERIC_WRITE, + 0, + NULL, + CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, + NULL); + if (FileHandle == INVALID_HANDLE_VALUE) + { + skip("CreateFileW failed with error: %lu\n", GetLastError()); + return; + } + + /* Try saving HKEY_LOCAL_MACHINE\Hardware */ + Status = OpenRegistryKeyHandle(&KeyHandle, KEY_READ, L"\\Registry\\Machine\\Hardware"); + if (!NT_SUCCESS(Status)) + { + skip("NtOpenKey failed with status: 0x%08lX\n", Status); + NtClose(FileHandle); + return; + } + + Status = NtSaveKey(KeyHandle, FileHandle); + ok_ntstatus(Status, STATUS_PRIVILEGE_NOT_HELD); + + NtClose(KeyHandle); + + /* Set the SeBackupPrivilege */ + Status = RtlAdjustPrivilege(SE_BACKUP_PRIVILEGE, + TRUE, + FALSE, + &OldPrivilegeStatus); + if (!NT_SUCCESS(Status)) + { + skip("RtlAdjustPrivilege failed with status: 0x%08lX\n", (ULONG)Status); + NtClose(FileHandle); + return; + } + + /* Try saving HKEY_LOCAL_MACHINE\Hardware again */ + Status = OpenRegistryKeyHandle(&KeyHandle, KEY_READ, L"\\Registry\\Machine\\Hardware"); + if (!NT_SUCCESS(Status)) + { + skip("NtOpenKey failed with status: 0x%08lX\n", Status); + goto Cleanup; + } + + Status = NtSaveKey(KeyHandle, FileHandle); + ok_ntstatus(Status, STATUS_SUCCESS); + + NtClose(KeyHandle); + + /* Try saving HKEY_LOCAL_MACHINE */ + Status = OpenRegistryKeyHandle(&KeyHandle, KEY_READ, L"\\Registry\\Machine"); + if (!NT_SUCCESS(Status)) + { + skip("NtOpenKey failed with status: 0x%08lX\n", Status); + goto Cleanup; + } + + Status = NtSaveKey(KeyHandle, FileHandle); + ok_ntstatus(Status, STATUS_ACCESS_DENIED); + + NtClose(KeyHandle); + + /* Try saving HKEY_USERS */ + Status = OpenRegistryKeyHandle(&KeyHandle, KEY_READ, L"\\Registry\\User"); + if (!NT_SUCCESS(Status)) + { + skip("NtOpenKey failed with status: 0x%08lX\n", Status); + goto Cleanup; + } + + Status = NtSaveKey(KeyHandle, FileHandle); + ok_ntstatus(Status, STATUS_ACCESS_DENIED); + + NtClose(KeyHandle); + +Cleanup: + + /* Restore the SeBackupPrivilege */ + RtlAdjustPrivilege(SE_BACKUP_PRIVILEGE, + OldPrivilegeStatus, + FALSE, + &OldPrivilegeStatus); + + /* Close the file handle */ + NtClose(FileHandle); +} diff --git a/rostests/apitests/ntdll/testlist.c b/rostests/apitests/ntdll/testlist.c index 40bec87cde6..0a4a8466089 100644 --- a/rostests/apitests/ntdll/testlist.c +++ b/rostests/apitests/ntdll/testlist.c @@ -14,6 +14,7 @@ extern void func_NtMutant(void); extern void func_NtProtectVirtualMemory(void); extern void func_NtQuerySystemEnvironmentValue(void); extern void func_NtQueryVolumeInformationFile(void); +extern void func_NtSaveKey(void); extern void func_NtSystemInformation(void); extern void func_RtlBitmap(void); extern void func_RtlDetermineDosPathNameType(void); @@ -43,6 +44,7 @@ const struct test winetest_testlist[] = { "NtProtectVirtualMemory", func_NtProtectVirtualMemory }, { "NtQuerySystemEnvironmentValue", func_NtQuerySystemEnvironmentValue }, { "NtQueryVolumeInformationFile", func_NtQueryVolumeInformationFile }, + { "NtSaveKey", func_NtSaveKey}, { "NtSystemInformation", func_NtSystemInformation }, { "RtlBitmapApi", func_RtlBitmap }, { "RtlDetermineDosPathNameType", func_RtlDetermineDosPathNameType }, From a31b680c53e160be9e32a733928cfeb601017dc5 Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Sat, 31 May 2014 01:17:00 +0000 Subject: [PATCH 004/120] [NTOSKRNL] Don't allow saving keys which are located directly in the master hive. svn path=/trunk/; revision=63508 --- reactos/ntoskrnl/config/cmapi.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reactos/ntoskrnl/config/cmapi.c b/reactos/ntoskrnl/config/cmapi.c index e52f572b0ed..a75f0286e18 100644 --- a/reactos/ntoskrnl/config/cmapi.c +++ b/reactos/ntoskrnl/config/cmapi.c @@ -2307,6 +2307,13 @@ CmSaveKey(IN PCM_KEY_CONTROL_BLOCK Kcb, goto Cleanup; } + if (Kcb->KeyHive == &CmiVolatileHive->Hive) + { + /* Keys that are directly in the master hive can't be saved */ + Status = STATUS_ACCESS_DENIED; + goto Cleanup; + } + /* Create a new hive that will hold the key */ Status = CmpInitializeHive(&KeyHive, HINIT_CREATE, From 6f830f27bb58b9abd5e8f0ce622e3fe37e1f1248 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 31 May 2014 08:32:54 +0000 Subject: [PATCH 005/120] [NET] - Fix an off-by-one bug in the ACCOUNTS command. - Improve input validation for the ACCOUNTS command. - Add the /help option to the CONTINUE command. - Add version resource and start to move texts into resources. svn path=/trunk/; revision=63509 --- .../applications/network/net/CMakeLists.txt | 4 +- .../applications/network/net/cmdAccounts.c | 71 ++++++++++++++----- .../applications/network/net/cmdContinue.c | 12 +++- reactos/base/applications/network/net/help.c | 6 +- .../applications/network/net/lang/en-US.rc | 11 +++ reactos/base/applications/network/net/main.c | 18 +++++ reactos/base/applications/network/net/net.h | 8 +++ reactos/base/applications/network/net/net.rc | 17 +++++ .../base/applications/network/net/resource.h | 6 ++ 9 files changed, 129 insertions(+), 24 deletions(-) create mode 100644 reactos/base/applications/network/net/lang/en-US.rc create mode 100644 reactos/base/applications/network/net/net.rc create mode 100644 reactos/base/applications/network/net/resource.h diff --git a/reactos/base/applications/network/net/CMakeLists.txt b/reactos/base/applications/network/net/CMakeLists.txt index 377065ebadf..a740d3a06de 100644 --- a/reactos/base/applications/network/net/CMakeLists.txt +++ b/reactos/base/applications/network/net/CMakeLists.txt @@ -12,8 +12,8 @@ list(APPEND SOURCE help.c net.h) -add_executable(net ${SOURCE}) +add_executable(net ${SOURCE} net.rc) set_module_type(net win32cui UNICODE) -add_importlibs(net advapi32 netapi32 msvcrt kernel32 ntdll) +add_importlibs(net advapi32 netapi32 msvcrt kernel32 user32 ntdll) add_pch(net net.h SOURCE) add_cd_file(TARGET net DESTINATION reactos/system32 FOR all) diff --git a/reactos/base/applications/network/net/cmdAccounts.c b/reactos/base/applications/network/net/cmdAccounts.c index eb91c85550e..456ac4c791e 100644 --- a/reactos/base/applications/network/net/cmdAccounts.c +++ b/reactos/base/applications/network/net/cmdAccounts.c @@ -18,33 +18,34 @@ cmdAccounts( PUSER_MODALS_INFO_1 Info1 = NULL; PUSER_MODALS_INFO_3 Info3 = NULL; NT_PRODUCT_TYPE ProductType; - LPWSTR p, perr; + LPWSTR p; + LPWSTR endptr; DWORD ParamErr; ULONG value; INT i; BOOL Modified = FALSE; // BOOL Domain = FALSE; NET_API_STATUS Status; + INT result = 0; - for (i = 3; i < argc; i++) + for (i = 2; i < argc; i++) { - if (wcsicmp(argv[i], L"help") == 0) + if (_wcsicmp(argv[i], L"help") == 0) { /* Print short syntax help */ - puts("NET ACCOUNTS [/FORCELOGOFF:{Minutes|NO}] [/MINPWLEN:Length]"); - puts(" [/MAXPWAGE:{Days|UNLIMITED}] [/MINPWAGE:Days]"); - puts(" [/UNIQUEPW:Count] [/DOMAIN]"); + PrintResourceString(IDS_ACCOUNTS_SYNTAX); return 0; } - if (wcsicmp(argv[i], L"/help") == 0) + if (_wcsicmp(argv[i], L"/help") == 0) { - /* FIXME: Print long help text*/ + /* Print full help text*/ + PrintResourceString(IDS_ACCOUNTS_HELP); return 0; } /* - if (wcsicmp(argv[i], L"/domain") == 0) + if (_wcsicmp(argv[i], L"/domain") == 0) { Domain = TRUE; } @@ -55,7 +56,7 @@ cmdAccounts( if (Status != NERR_Success) goto done; - for (i = 3; i < argc; i++) + for (i = 2; i < argc; i++) { if (_wcsnicmp(argv[i], L"/forcelogoff:", 13) == 0) { @@ -67,7 +68,13 @@ cmdAccounts( } else { - value = wcstoul(p, &perr, 10); + value = wcstoul(p, &endptr, 10); + if (*endptr != 0) + { + printf("You entered an invalid value for the /FORCELOGOFF option.\n"); + result = 1; + goto done; + } Info0->usrmod0_force_logoff = value * 60; Modified = TRUE; @@ -76,7 +83,14 @@ cmdAccounts( else if (_wcsnicmp(argv[i], L"/minpwlen:", 10) == 0) { p = &argv[i][10]; - value = wcstoul(p, &perr, 10); + value = wcstoul(p, &endptr, 10); + if (*endptr != 0) + { + printf("You entered an invalid value for the /MINPWLEN option.\n"); + result = 1; + goto done; + } + Info0->usrmod0_min_passwd_len = value; Modified = TRUE; } @@ -91,7 +105,13 @@ cmdAccounts( } else { - value = wcstoul(p, &perr, 10); + value = wcstoul(p, &endptr, 10); + if (*endptr != 0) + { + printf("You entered an invalid value for the /MAXPWAGE option.\n"); + result = 1; + goto done; + } Info0->usrmod0_max_passwd_age = value * 86400; Modified = TRUE; @@ -100,7 +120,13 @@ cmdAccounts( else if (_wcsnicmp(argv[i], L"/minpwage:", 10) == 0) { p = &argv[i][10]; - value = wcstoul(p, &perr, 10); + value = wcstoul(p, &endptr, 10); + if (*endptr != 0) + { + printf("You entered an invalid value for the /MINPWAGE option.\n"); + result = 1; + goto done; + } Info0->usrmod0_min_passwd_age = value * 86400; Modified = TRUE; @@ -108,7 +134,13 @@ cmdAccounts( else if (_wcsnicmp(argv[i], L"/uniquepw:", 10) == 0) { p = &argv[i][10]; - value = wcstoul(p, &perr, 10); + value = wcstoul(p, &endptr, 10); + if (*endptr != 0) + { + printf("You entered an invalid value for the /UNIQUEPW option.\n"); + result = 1; + goto done; + } Info0->usrmod0_password_hist_len = value; Modified = TRUE; @@ -149,7 +181,12 @@ cmdAccounts( else printf("%lu\n", Info0->usrmod0_password_hist_len); - printf("Lockout threshold: %lu\n", Info3->usrmod3_lockout_threshold); + printf("Lockout threshold: "); + if (Info3->usrmod3_lockout_threshold == 0) + printf("Never\n"); + else + printf("%lu\n", Info3->usrmod3_lockout_threshold); + printf("Lockout duration (in minutes): %lu\n", Info3->usrmod3_lockout_duration / 60); printf("Lockout observation window (in minutes): %lu\n", Info3->usrmod3_lockout_observation_window / 60); @@ -186,7 +223,7 @@ done: if (Info0 != NULL) NetApiBufferFree(Info0); - return 0; + return result; } /* EOF */ diff --git a/reactos/base/applications/network/net/cmdContinue.c b/reactos/base/applications/network/net/cmdContinue.c index 7f23fa5777a..f36111af2c9 100644 --- a/reactos/base/applications/network/net/cmdContinue.c +++ b/reactos/base/applications/network/net/cmdContinue.c @@ -15,13 +15,23 @@ INT cmdContinue(INT argc, WCHAR **argv) SC_HANDLE hService = NULL; SERVICE_STATUS status; INT nError = 0; + INT i; if (argc != 3) { - puts("Usage: NET CONTINUE "); + PrintResourceString(IDS_CONTINUE_SYNTAX); return 1; } + for (i = 2; i < argc; i++) + { + if (_wcsicmp(argv[i], L"/help") == 0) + { + PrintResourceString(IDS_CONTINUE_HELP); + return 1; + } + } + hManager = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ENUMERATE_SERVICE); if (hManager == NULL) { diff --git a/reactos/base/applications/network/net/help.c b/reactos/base/applications/network/net/help.c index 089f4a64f20..46061566801 100644 --- a/reactos/base/applications/network/net/help.c +++ b/reactos/base/applications/network/net/help.c @@ -18,8 +18,7 @@ INT cmdHelp(INT argc, WCHAR **argv) if (_wcsicmp(argv[2],L"ACCOUNTS")==0) { - puts("ACCOUNTS"); - puts("help text"); + PrintResourceString(IDS_ACCOUNTS_HELP); return 0; } @@ -39,8 +38,7 @@ INT cmdHelp(INT argc, WCHAR **argv) if (_wcsicmp(argv[2],L"CONTINUE")==0) { - puts("CONTINUE"); - puts("help text"); + PrintResourceString(IDS_CONTINUE_HELP); return 0; } diff --git a/reactos/base/applications/network/net/lang/en-US.rc b/reactos/base/applications/network/net/lang/en-US.rc new file mode 100644 index 00000000000..99cd546c185 --- /dev/null +++ b/reactos/base/applications/network/net/lang/en-US.rc @@ -0,0 +1,11 @@ +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +STRINGTABLE +BEGIN + IDS_ACCOUNTS_SYNTAX "Usage:\nNET ACCOUNTS [/FORCELOGOFF:{Minutes|NO}] [/MINPWLEN:Length]\n\ + [/MAXPWAGE:{Days|UNLIMITED}] [/MINPWAGE:Days]\n\ + [/UNIQUEPW:Count] [/DOMAIN]\n" + IDS_ACCOUNTS_HELP "ACCOUNTS\nhelp text" + IDS_CONTINUE_SYNTAX "Usage:\nNET CONTINUE " + IDS_CONTINUE_HELP "CONTINUE\nhelp text" +END diff --git a/reactos/base/applications/network/net/main.c b/reactos/base/applications/network/net/main.c index ad702517e39..b0ae7a9c897 100644 --- a/reactos/base/applications/network/net/main.c +++ b/reactos/base/applications/network/net/main.c @@ -9,6 +9,8 @@ #include "net.h" +#define MAX_BUFFER_SIZE 4096 + typedef struct _COMMAND { WCHAR *name; @@ -43,6 +45,22 @@ COMMAND cmds[] = {NULL, NULL} }; + +VOID +PrintResourceString( + INT resID, + ...) +{ + WCHAR szMsgBuf[MAX_BUFFER_SIZE]; + va_list arg_ptr; + + va_start(arg_ptr, resID); + LoadStringW(GetModuleHandle(NULL), resID, szMsgBuf, MAX_BUFFER_SIZE); + vwprintf(szMsgBuf, arg_ptr); + va_end(arg_ptr); +} + + int wmain(int argc, WCHAR **argv) { PCOMMAND cmdptr; diff --git a/reactos/base/applications/network/net/net.h b/reactos/base/applications/network/net/net.h index 91af9d06a96..93cf15d81c1 100644 --- a/reactos/base/applications/network/net/net.h +++ b/reactos/base/applications/network/net/net.h @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -20,6 +21,13 @@ #include #include +#include "resource.h" + +VOID +PrintResourceString( + INT resID, + ...); + VOID help(VOID); INT unimplemented(INT argc, WCHAR **argv); diff --git a/reactos/base/applications/network/net/net.rc b/reactos/base/applications/network/net/net.rc new file mode 100644 index 00000000000..ef6ba03f034 --- /dev/null +++ b/reactos/base/applications/network/net/net.rc @@ -0,0 +1,17 @@ +#include + +#include "resource.h" + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Net Command" +#define REACTOS_STR_INTERNAL_NAME "net" +#define REACTOS_STR_ORIGINAL_FILENAME "net.exe" +#include + +/* UTF-8 */ +#pragma code_page(65001) + +#ifdef LANGUAGE_EN_US + #include "lang/en-US.rc" +#endif diff --git a/reactos/base/applications/network/net/resource.h b/reactos/base/applications/network/net/resource.h new file mode 100644 index 00000000000..54d5913ddcf --- /dev/null +++ b/reactos/base/applications/network/net/resource.h @@ -0,0 +1,6 @@ +#pragma once + +#define IDS_ACCOUNTS_SYNTAX 100 +#define IDS_ACCOUNTS_HELP 101 +#define IDS_CONTINUE_SYNTAX 102 +#define IDS_CONTINUE_HELP 103 \ No newline at end of file From bf476c3c1af6b429593349ecfd8e41555798329b Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sat, 31 May 2014 14:24:26 +0000 Subject: [PATCH 006/120] [NET] * Fix MSVC build. svn path=/trunk/; revision=63510 --- reactos/base/applications/network/net/resource.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/base/applications/network/net/resource.h b/reactos/base/applications/network/net/resource.h index 54d5913ddcf..e19726bc195 100644 --- a/reactos/base/applications/network/net/resource.h +++ b/reactos/base/applications/network/net/resource.h @@ -3,4 +3,4 @@ #define IDS_ACCOUNTS_SYNTAX 100 #define IDS_ACCOUNTS_HELP 101 #define IDS_CONTINUE_SYNTAX 102 -#define IDS_CONTINUE_HELP 103 \ No newline at end of file +#define IDS_CONTINUE_HELP 103 From 96f0120d3afb5c1f12a19f1a0339c63502e17077 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sat, 31 May 2014 14:51:36 +0000 Subject: [PATCH 007/120] [GECKO] * Introduce a faster and smaller build without dependency on exports that do not exist in native. [MSVCRT] * Get rid of some exports that do not exist in native. CORE-8174 svn path=/trunk/; revision=63511 --- reactos/dll/cpl/appwiz/addons.c | 2 +- reactos/dll/win32/msvcrt/msvcrt.spec | 10 ---------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/reactos/dll/cpl/appwiz/addons.c b/reactos/dll/cpl/appwiz/addons.c index 12b847298ea..e103bc5e7df 100644 --- a/reactos/dll/cpl/appwiz/addons.c +++ b/reactos/dll/cpl/appwiz/addons.c @@ -30,7 +30,7 @@ #ifdef __i386__ #define ARCH_STRING "x86" -#define GECKO_SHA "b4923c0565e6cbd20075a0d4119ce3b48424f962" +#define GECKO_SHA "f6984567b24fef7b0be79837e04d3a913af1a88c" #else #define ARCH_STRING "" #define GECKO_SHA "???" diff --git a/reactos/dll/win32/msvcrt/msvcrt.spec b/reactos/dll/win32/msvcrt/msvcrt.spec index 3d2a545996c..ab80f4284f6 100644 --- a/reactos/dll/win32/msvcrt/msvcrt.spec +++ b/reactos/dll/win32/msvcrt/msvcrt.spec @@ -894,13 +894,3 @@ # Functions not exported in native dll: @ cdecl -arch=i386 -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler -# Gecko -@ cdecl _controlfp_s(ptr long long) -@ varargs _snwprintf_s(ptr long long ptr) -@ cdecl _vsnprintf_s(ptr long long str ptr) -@ cdecl _vsnwprintf_s(ptr long long wstr ptr) -@ cdecl _wcslwr_s(wstr long) -@ cdecl _wfopen_s(ptr wstr wstr) -@ cdecl fopen_s(ptr str str) -@ cdecl strtok_s(ptr str ptr) -@ varargs swprintf_s(ptr long wstr) From 4289bcee6407f7fcf290229a2c465a7cc3a646a2 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 15:29:10 +0000 Subject: [PATCH 008/120] [HOST] Try to fix some host warnings. svn path=/trunk/; revision=63512 --- reactos/lib/cmlib/hivewrt.c | 4 ++-- reactos/tools/geninc/geninc.c | 9 +++------ reactos/tools/log2lines/cmd.c | 16 ++++++++-------- reactos/tools/log2lines/match.c | 8 ++++---- reactos/tools/obj2bin/obj2bin.c | 12 ++++++------ 5 files changed, 23 insertions(+), 26 deletions(-) diff --git a/reactos/lib/cmlib/hivewrt.c b/reactos/lib/cmlib/hivewrt.c index 330ff81f0ff..a0e529f6ea0 100644 --- a/reactos/lib/cmlib/hivewrt.c +++ b/reactos/lib/cmlib/hivewrt.c @@ -14,8 +14,8 @@ HvpWriteLog( PHHIVE RegistryHive) { ULONG FileOffset; - ULONG BufferSize; - ULONG BitmapSize; + UINT BufferSize; + UINT BitmapSize; PUCHAR Buffer; PUCHAR Ptr; ULONG BlockIndex; diff --git a/reactos/tools/geninc/geninc.c b/reactos/tools/geninc/geninc.c index 6133b5cc408..295f2cfe8b8 100644 --- a/reactos/tools/geninc/geninc.c +++ b/reactos/tools/geninc/geninc.c @@ -5,19 +5,16 @@ #include #include #include +#include #define IMAGE_FILE_MACHINE_I386 0x014c #define IMAGE_FILE_MACHINE_AMD64 0x8664 #define IMAGE_FILE_MACHINE_ARMNT 0x01c4 -#ifdef _WIN32 +#ifdef _MSC_VER #define PRIx64 "I64x" -typedef unsigned __int16 uint16_t; -typedef unsigned __int32 uint32_t; -typedef unsigned __int64 uint64_t; #else -#include -#define PRIx64 "llx" +#include #define _stricmp strcasecmp #endif diff --git a/reactos/tools/log2lines/cmd.c b/reactos/tools/log2lines/cmd.c index ca7afaa8749..8fd80bd859b 100644 --- a/reactos/tools/log2lines/cmd.c +++ b/reactos/tools/log2lines/cmd.c @@ -20,7 +20,7 @@ * is inserted, so the string looks right on the console but still * contains the original string, plus other garbage: */ -static char +static char *backSpaceEdit(char *s) { char c; @@ -58,7 +58,7 @@ handle_switch(FILE *outFile, int *sw, char *arg, char *desc) *sw = x; changed = 1; } - } + } if (desc) { esclog(outFile, "%s is %d (%s)\n", desc, *sw, changed ? "changed":"unchanged"); @@ -90,14 +90,14 @@ handle_switch_str(FILE *outFile, char *sw, char *arg, char *desc) changed = 1; } } - } + } if (desc) { esclog(outFile, "%s is \"%s\" (%s)\n", desc, sw, changed ? "changed":"unchanged"); if (!arg) esclog(outFile, "(readonly)\n"); } - + return changed; } @@ -132,14 +132,14 @@ handle_switch_pstr(FILE *outFile, char **psw, char *arg, char *desc) } } } - } + } if (desc) { esclog(outFile, "%s is \"%s\" (%s)\n", desc, *psw, changed ? "changed":"unchanged"); if (!arg) esclog(outFile, "(readonly)\n"); } - + return changed; } @@ -155,7 +155,7 @@ handle_address_cmd(FILE *outFile, char *arg) if(( s = strchr(arg, ':') )) { *s = ' '; - if ( (cnt = sscanf(arg,"%20s %lx", Image, &Offset)) == 2) + if ( (cnt = sscanf(arg,"%20s %x", Image, &Offset)) == 2) { if (( plm = entry_lookup(&cache, Image) )) { @@ -292,7 +292,7 @@ handle_escape_cmd(FILE *outFile, char *Line, char *path, char *LineOut) { memset(&summ, 0, sizeof(SUMM)); esclog(outFile, "Statistics cleared\n"); - } + } else stat_print(outFile, &summ); break; diff --git a/reactos/tools/log2lines/match.c b/reactos/tools/log2lines/match.c index 256a8b71902..c0bc98bcf41 100644 --- a/reactos/tools/log2lines/match.c +++ b/reactos/tools/log2lines/match.c @@ -32,8 +32,8 @@ static int match_mod(FILE *outFile, char *Line, int processed) { static int state = 0; char Image[NAMESIZE]; - DWORD Base; - DWORD Size; + UINT Base; + UINT Size; PLIST_MEMBER plm; int cnt; @@ -48,13 +48,13 @@ static int match_mod(FILE *outFile, char *Line, int processed) switch (state) { case 1: - if ( (cnt = sscanf(Line,"%lx %lx %20s", &Base, &Size, Image)) == 3 ) + if ( (cnt = sscanf(Line,"%x %x %20s", &Base, &Size, Image)) == 3 ) { if (( plm = entry_lookup(&cache, Image) )) { plm->RelBase = Base; plm->Size = Size; - l2l_dbg(1, "Relocated: %s %08x -> %08x\n", Image, plm->ImageBase, plm->RelBase); + l2l_dbg(1, "Relocated: %s %p -> %p\n", Image, (void*)plm->ImageBase, (void*)plm->RelBase); } return 0; } diff --git a/reactos/tools/obj2bin/obj2bin.c b/reactos/tools/obj2bin/obj2bin.c index 88c6e95d724..34e596f48fb 100644 --- a/reactos/tools/obj2bin/obj2bin.c +++ b/reactos/tools/obj2bin/obj2bin.c @@ -52,8 +52,8 @@ RelocateSection( break; default: - printf("Unknown relocatation type %d, address 0x%lx\n", - pReloc->Type, pReloc->VirtualAddress); + printf("Unknown relocatation type %u, address 0x%x\n", + pReloc->Type, (unsigned)pReloc->VirtualAddress); } pReloc++; @@ -99,7 +99,7 @@ int main(int argc, char *argv[]) if (!pData) { fclose(pSourceFile); - fprintf(stderr, "Failed to allocate %ld bytes\n", nFileSize); + fprintf(stderr, "Failed to allocate %lu bytes\n", nFileSize); return -3; } @@ -108,7 +108,7 @@ int main(int argc, char *argv[]) { free(pData); fclose(pSourceFile); - fprintf(stderr, "Failed to read %ld bytes from source file\n", nFileSize); + fprintf(stderr, "Failed to read %lu bytes from source file\n", nFileSize); return -4; } @@ -147,8 +147,8 @@ int main(int argc, char *argv[]) { free(pData); fclose(pDestFile); - fprintf(stderr, "Failed to write %ld bytes to destination file\n", - pSectionHeader->SizeOfRawData); + fprintf(stderr, "Failed to write %u bytes to destination file\n", + (unsigned int)pSectionHeader->SizeOfRawData); return -6; } From 4a7d9e2a5c1a7e7baf4d20232cfa72c81fa093f4 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 15:34:21 +0000 Subject: [PATCH 009/120] [CMLIB] Fix build (and warnings) svn path=/trunk/; revision=63513 --- reactos/lib/cmlib/hivewrt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/lib/cmlib/hivewrt.c b/reactos/lib/cmlib/hivewrt.c index a0e529f6ea0..61108065a38 100644 --- a/reactos/lib/cmlib/hivewrt.c +++ b/reactos/lib/cmlib/hivewrt.c @@ -14,8 +14,8 @@ HvpWriteLog( PHHIVE RegistryHive) { ULONG FileOffset; - UINT BufferSize; - UINT BitmapSize; + UINT32 BufferSize; + UINT32 BitmapSize; PUCHAR Buffer; PUCHAR Ptr; ULONG BlockIndex; @@ -42,7 +42,7 @@ HvpWriteLog( BufferSize = HV_LOG_HEADER_SIZE + sizeof(ULONG) + BitmapSize; BufferSize = ROUND_UP(BufferSize, HV_BLOCK_SIZE); - DPRINT("Bitmap size %lu buffer size: %lu\n", BitmapSize, BufferSize); + DPRINT("Bitmap size %u buffer size: %u\n", BitmapSize, BufferSize); Buffer = RegistryHive->Allocate(BufferSize, TRUE, TAG_CM); if (Buffer == NULL) From 461f47c1d1fbeae5c4f4262c62145ee423603a8b Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 15:44:45 +0000 Subject: [PATCH 010/120] [WINE] Try to fix some warnings in wine tests svn path=/trunk/; revision=63514 --- reactos/include/reactos/wine/exception.h | 12 +++++++++--- reactos/include/reactos/wine/test.h | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/reactos/include/reactos/wine/exception.h b/reactos/include/reactos/wine/exception.h index 611316b50e0..5a5e7f7e9dd 100644 --- a/reactos/include/reactos/wine/exception.h +++ b/reactos/include/reactos/wine/exception.h @@ -25,10 +25,16 @@ extern "C" { #define EXCEPTION_VM86_PICRETURN 0x80000112 #ifndef _RTLTYPES_H -typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER) - (struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*); - struct _EXCEPTION_REGISTRATION_RECORD; + +typedef +DWORD +(*PEXCEPTION_HANDLER)( + struct _EXCEPTION_RECORD*, + struct _EXCEPTION_REGISTRATION_RECORD *, + struct _CONTEXT*, + struct _EXCEPTION_REGISTRATION_RECORD**); + typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD; struct _EXCEPTION_REGISTRATION_RECORD diff --git a/reactos/include/reactos/wine/test.h b/reactos/include/reactos/wine/test.h index fae1487bbd1..e0253f7ced3 100644 --- a/reactos/include/reactos/wine/test.h +++ b/reactos/include/reactos/wine/test.h @@ -68,7 +68,7 @@ extern LONG winetest_get_failures(void); extern void winetest_add_failures( LONG new_failures ); extern void winetest_wait_child_process( HANDLE process ); -extern const char *wine_dbgstr_wn( const WCHAR *str, int n ); +extern const char *wine_dbgstr_wn( const WCHAR *str, intptr_t n ); extern const char *wine_dbgstr_guid( const GUID *guid ); static inline const char *wine_dbgstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); } @@ -486,7 +486,7 @@ void winetest_wait_child_process( HANDLE process ) } } -const char *wine_dbgstr_wn( const WCHAR *str, int n ) +const char *wine_dbgstr_wn( const WCHAR *str, intptr_t n ) { char *dst, *res; size_t size; From 10a264845d1b4b1a1c8de38523abbb86be7ce097 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 16:00:05 +0000 Subject: [PATCH 011/120] [ROSTESTS] Silence some warnings, fix compilation of w32kdll with MSVC, give dllexport_test dlls a base address. svn path=/trunk/; revision=63515 --- rostests/apitests/CMakeLists.txt | 2 +- rostests/apitests/w32kdll/CMakeLists.txt | 4 +- .../w32kdll/w32kdll_2k3sp2/CMakeLists.txt | 4 +- .../w32kdll/w32kdll_2k3sp2/sys-stubs.S | 12 + .../w32kdll/w32kdll_2k3sp2/w32ksvc-2k3sp2.h | 669 +++++++++++++++++ .../w32kdll/w32kdll_ros/CMakeLists.txt | 5 +- .../apitests/w32kdll/w32kdll_ros/sys-stubs.S | 12 + .../w32kdll/w32kdll_ros/w32kdll_ros.spec | 21 +- .../w32kdll/w32kdll_ros/win32ksvc-ros.h | 698 ++++++++++++++++++ rostests/tests/dllexport/CMakeLists.txt | 3 +- rostests/winetests/winmm/CMakeLists.txt | 2 +- 11 files changed, 1412 insertions(+), 20 deletions(-) create mode 100644 rostests/apitests/w32kdll/w32kdll_2k3sp2/sys-stubs.S create mode 100644 rostests/apitests/w32kdll/w32kdll_2k3sp2/w32ksvc-2k3sp2.h create mode 100644 rostests/apitests/w32kdll/w32kdll_ros/sys-stubs.S create mode 100644 rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h diff --git a/rostests/apitests/CMakeLists.txt b/rostests/apitests/CMakeLists.txt index 45f4c60282a..99a8bf97620 100644 --- a/rostests/apitests/CMakeLists.txt +++ b/rostests/apitests/CMakeLists.txt @@ -19,7 +19,7 @@ add_subdirectory(setupapi) add_subdirectory(shell32) add_subdirectory(psapi) add_subdirectory(user32) -if((NOT MSVC) AND (ARCH STREQUAL "i386")) +if(NOT ARCH STREQUAL "amd64") add_subdirectory(w32kdll) add_subdirectory(w32knapi) endif() diff --git a/rostests/apitests/w32kdll/CMakeLists.txt b/rostests/apitests/w32kdll/CMakeLists.txt index a2c1b14f249..0d4f458d018 100644 --- a/rostests/apitests/w32kdll/CMakeLists.txt +++ b/rostests/apitests/w32kdll/CMakeLists.txt @@ -1,6 +1,6 @@ add_subdirectory(w32kdll_ros) add_subdirectory(w32kdll_xpsp2) -add_subdirectory(w32kdll_2ksp4) +#add_subdirectory(w32kdll_2ksp4) add_subdirectory(w32kdll_2k3sp2) -add_subdirectory(w32kdll_vista) +#add_subdirectory(w32kdll_vista) diff --git a/rostests/apitests/w32kdll/w32kdll_2k3sp2/CMakeLists.txt b/rostests/apitests/w32kdll/w32kdll_2k3sp2/CMakeLists.txt index aca0aa3a598..84cc5342073 100644 --- a/rostests/apitests/w32kdll/w32kdll_2k3sp2/CMakeLists.txt +++ b/rostests/apitests/w32kdll/w32kdll_2k3sp2/CMakeLists.txt @@ -3,9 +3,9 @@ spec2def(w32kdll_2k3sp2.dll w32kdll_2k3sp2.spec ADD_IMPORTLIB) add_library(w32kdll_2k3sp2 SHARED main.c - w32kdll_2k3sp2.S + sys-stubs.S ${CMAKE_CURRENT_BINARY_DIR}/w32kdll_2k3sp2.def) set_entrypoint(w32kdll_2k3sp2 0) -add_dependencies(w32kdll_2k3sp2 psdk ) +add_dependencies(w32kdll_2k3sp2 psdk) diff --git a/rostests/apitests/w32kdll/w32kdll_2k3sp2/sys-stubs.S b/rostests/apitests/w32kdll/w32kdll_2k3sp2/sys-stubs.S new file mode 100644 index 00000000000..8913700a2f9 --- /dev/null +++ b/rostests/apitests/w32kdll/w32kdll_2k3sp2/sys-stubs.S @@ -0,0 +1,12 @@ + +#include +#include + +.code + +SyscallId = HEX(1000) +#define SVC_(name, argcount) STUB_U name, argcount + +#include "w32ksvc-2k3sp2.h" + +END diff --git a/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32ksvc-2k3sp2.h b/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32ksvc-2k3sp2.h new file mode 100644 index 00000000000..1e3f1ca85ed --- /dev/null +++ b/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32ksvc-2k3sp2.h @@ -0,0 +1,669 @@ +// SVC_(, ) +// +// Funcs, order, should, match, Windows, XP, 5.1.2600, SP2) +// +SVC_(GdiAbortDoc, 1) +SVC_(GdiAbortPath, 1) +SVC_(GdiAddFontResourceW, 6) +SVC_(GdiAddRemoteFontToDC, 4) +SVC_(GdiAddFontMemResourceEx, 5) +SVC_(GdiRemoveMergeFont, 2) +SVC_(GdiAddRemoteMMInstanceToDC, 3) +SVC_(GdiAlphaBlend, 12) +SVC_(GdiAngleArc, 6) +SVC_(GdiAnyLinkedFonts, 0) +SVC_(GdiFontIsLinked, 1) +SVC_(GdiArcInternal, 10) +SVC_(GdiBeginPath, 1) +SVC_(GdiBitBlt, 11) +SVC_(GdiCancelDC, 1) +SVC_(GdiCheckBitmapBits, 8) +SVC_(GdiCloseFigure, 1) +SVC_(GdiClearBitmapAttributes, 2) +SVC_(GdiClearBrushAttributes, 2) +SVC_(GdiColorCorrectPalette, 6) +SVC_(GdiCombineRgn, 4) +SVC_(GdiCombineTransform, 3) +SVC_(GdiComputeXformCoefficients, 1) +SVC_(GdiConsoleTextOut, 4) +SVC_(GdiConvertMetafileRect, 2) +SVC_(GdiCreateBitmap, 5) +SVC_(GdiCreateClientObj, 1) +SVC_(GdiCreateColorSpace, 1) +SVC_(GdiCreateColorTransform, 8) +SVC_(GdiCreateCompatibleBitmap, 3) +SVC_(GdiCreateCompatibleDC, 1) +SVC_(GdiCreateDIBBrush, 6) +SVC_(GdiCreateDIBitmapInternal, 11) +SVC_(GdiCreateDIBSection, 9) +SVC_(GdiCreateEllipticRgn, 4) +SVC_(GdiCreateHalftonePalette, 1) +SVC_(GdiCreateHatchBrushInternal, 3) +SVC_(GdiCreateMetafileDC, 1) +SVC_(GdiCreatePaletteInternal, 2) +SVC_(GdiCreatePatternBrushInternal, 3) +SVC_(GdiCreatePen, 4) +SVC_(GdiCreateRectRgn, 4) +SVC_(GdiCreateRoundRectRgn, 6) +SVC_(GdiCreateServerMetaFile, 6) +SVC_(GdiCreateSolidBrush, 2) +SVC_(GdiD3dContextCreate, 4) +SVC_(GdiD3dContextDestroy, 1) +SVC_(GdiD3dContextDestroyAll, 1) +SVC_(GdiD3dValidateTextureStageState, 1) +SVC_(GdiD3dDrawPrimitives2, 7) +SVC_(GdiDdGetDriverState, 1) +SVC_(GdiDdAddAttachedSurface, 3) +SVC_(GdiDdAlphaBlt, 3) +SVC_(GdiDdAttachSurface, 2) +SVC_(GdiDdBeginMoCompFrame, 2) +SVC_(GdiDdBlt, 3) +SVC_(GdiDdCanCreateSurface, 2) +SVC_(GdiDdCanCreateD3DBuffer, 2) +SVC_(GdiDdColorControl, 2) +SVC_(GdiDdCreateDirectDrawObject, 1) +SVC_(GdiDdCreateSurface, 8) +SVC_(GdiDdCreateD3DBuffer, 8) +SVC_(GdiDdCreateMoComp, 2) +SVC_(GdiDdCreateSurfaceObject, 6) +SVC_(GdiDdDeleteDirectDrawObject, 1) +SVC_(GdiDdDeleteSurfaceObject, 1) +SVC_(GdiDdDestroyMoComp, 2) +SVC_(GdiDdDestroySurface, 2) +SVC_(GdiDdDestroyD3DBuffer, 1) +SVC_(GdiDdEndMoCompFrame, 2) +SVC_(GdiDdFlip, 5) +SVC_(GdiDdFlipToGDISurface, 2) +SVC_(GdiDdGetAvailDriverMemory, 2) +SVC_(GdiDdGetBltStatus, 2) +SVC_(GdiDdGetDC, 2) +SVC_(GdiDdGetDriverInfo, 2) +SVC_(GdiDdGetDxHandle, 3) +SVC_(GdiDdGetFlipStatus, 2) +SVC_(GdiDdGetInternalMoCompInfo, 2) +SVC_(GdiDdGetMoCompBuffInfo, 2) +SVC_(GdiDdGetMoCompGuids, 2) +SVC_(GdiDdGetMoCompFormats, 2) +SVC_(GdiDdGetScanLine, 2) +SVC_(GdiDdLock, 3) +SVC_(GdiDdLockD3D, 2) +SVC_(GdiDdQueryDirectDrawObject, 11) +SVC_(GdiDdQueryMoCompStatus, 2) +SVC_(GdiDdReenableDirectDrawObject, 2) +SVC_(GdiDdReleaseDC, 1) +SVC_(GdiDdRenderMoComp, 2) +SVC_(GdiDdResetVisrgn, 2) +SVC_(GdiDdSetColorKey, 2) +SVC_(GdiDdSetExclusiveMode, 2) +SVC_(GdiDdSetGammaRamp, 3) +SVC_(GdiDdCreateSurfaceEx, 3) +SVC_(GdiDdSetOverlayPosition, 3) +SVC_(GdiDdUnattachSurface, 2) +SVC_(GdiDdUnlock, 2) +SVC_(GdiDdUnlockD3D, 2) +SVC_(GdiDdUpdateOverlay, 3) +SVC_(GdiDdWaitForVerticalBlank, 2) +SVC_(GdiDvpCanCreateVideoPort, 2) +SVC_(GdiDvpColorControl, 2) +SVC_(GdiDvpCreateVideoPort, 2) +SVC_(GdiDvpDestroyVideoPort, 2) +SVC_(GdiDvpFlipVideoPort, 4) +SVC_(GdiDvpGetVideoPortBandwidth, 2) +SVC_(GdiDvpGetVideoPortField, 2) +SVC_(GdiDvpGetVideoPortFlipStatus, 2) +SVC_(GdiDvpGetVideoPortInputFormats, 2) +SVC_(GdiDvpGetVideoPortLine, 2) +SVC_(GdiDvpGetVideoPortOutputFormats, 2) +SVC_(GdiDvpGetVideoPortConnectInfo, 2) +SVC_(GdiDvpGetVideoSignalStatus, 2) +SVC_(GdiDvpUpdateVideoPort, 4) +SVC_(GdiDvpWaitForVideoPortSync, 2) +SVC_(GdiDvpAcquireNotification, 3) +SVC_(GdiDvpReleaseNotification, 2) +SVC_(GdiDxgGenericThunk, 6) +SVC_(GdiDeleteClientObj, 1) +SVC_(GdiDeleteColorSpace, 1) +SVC_(GdiDeleteColorTransform, 2) +SVC_(GdiDeleteObjectApp, 1) +SVC_(GdiDescribePixelFormat, 4) +SVC_(GdiGetPerBandInfo, 2) +SVC_(GdiDoBanding, 4) +SVC_(GdiDoPalette, 6) +SVC_(GdiDrawEscape, 4) +SVC_(GdiEllipse, 5) +SVC_(GdiEnableEudc, 1) +SVC_(GdiEndDoc, 1) +SVC_(GdiEndPage, 1) +SVC_(GdiEndPath, 1) +SVC_(GdiEnumFontChunk, 5) +SVC_(GdiEnumFontClose, 1) +SVC_(GdiEnumFontOpen, 7) +SVC_(GdiEnumObjects, 4) +SVC_(GdiEqualRgn, 2) +SVC_(GdiEudcLoadUnloadLink, 7) +SVC_(GdiExcludeClipRect, 5) +SVC_(GdiExtCreatePen, 11) +SVC_(GdiExtCreateRegion, 3) +SVC_(GdiExtEscape, 8) +SVC_(GdiExtFloodFill, 5) +SVC_(GdiExtGetObjectW, 3) +SVC_(GdiExtSelectClipRgn, 3) +SVC_(GdiExtTextOutW, 9) +SVC_(GdiFillPath, 1) +SVC_(GdiFillRgn, 3) +SVC_(GdiFlattenPath, 1) +SVC_(GdiFlush, 0) +SVC_(GdiForceUFIMapping, 2) +SVC_(GdiFrameRgn, 5) +SVC_(GdiFullscreenControl, 5) +SVC_(GdiGetAndSetDCDword, 4) +SVC_(GdiGetAppClipBox, 2) +SVC_(GdiGetBitmapBits, 3) +SVC_(GdiGetBitmapDimension, 2) +SVC_(GdiGetBoundsRect, 3) +SVC_(GdiGetCharABCWidthsW, 6) +SVC_(GdiGetCharacterPlacementW, 6) +SVC_(GdiGetCharSet, 1) +SVC_(GdiGetCharWidthW, 6) +SVC_(GdiGetCharWidthInfo, 2) +SVC_(GdiGetColorAdjustment, 2) +SVC_(GdiGetColorSpaceforBitmap, 1) +SVC_(GdiGetDCDword, 3) +SVC_(GdiGetDCforBitmap, 1) +SVC_(GdiGetDCObject, 2) +SVC_(GdiGetDCPoint, 3) +SVC_(GdiGetDeviceCaps, 2) +SVC_(GdiGetDeviceGammaRamp, 2) +SVC_(GdiGetDeviceCapsAll, 2) +SVC_(GdiGetDIBitsInternal, 9) +SVC_(GdiGetETM, 2) +SVC_(GdiGetEudcTimeStampEx, 3) +SVC_(GdiGetFontData, 5) +SVC_(GdiGetFontResourceInfoInternalW, 7) +SVC_(GdiGetGlyphIndicesW, 5) +SVC_(GdiGetGlyphIndicesWInternal, 6) +SVC_(GdiGetGlyphOutline, 8) +SVC_(GdiGetKerningPairs, 3) +SVC_(GdiGetLinkedUFIs, 3) +SVC_(GdiGetMiterLimit, 2) +SVC_(GdiGetMonitorID, 3) +SVC_(GdiGetNearestColor, 2) +SVC_(GdiGetNearestPaletteIndex, 2) +SVC_(GdiGetObjectBitmapHandle, 2) +SVC_(GdiGetOutlineTextMetricsInternalW, 4) +SVC_(GdiGetPath, 4) +SVC_(GdiGetPixel, 3) +SVC_(GdiGetRandomRgn, 3) +SVC_(GdiGetRasterizerCaps, 2) +SVC_(GdiGetRealizationInfo, 3) +SVC_(GdiGetRegionData, 3) +SVC_(GdiGetRgnBox, 2) +SVC_(GdiGetServerMetaFileBits, 7) +SVC_(GdiGetSpoolMessage, 4) +SVC_(GdiGetStats, 5) +SVC_(GdiGetStockObject, 1) +SVC_(GdiGetStringBitmapW, 5) +SVC_(GdiGetSystemPaletteUse, 1) +SVC_(GdiGetTextCharsetInfo, 3) +SVC_(GdiGetTextExtent, 5) +SVC_(GdiGetTextExtentExW, 8) +SVC_(GdiGetTextFaceW, 4) +SVC_(GdiGetTextMetricsW, 3) +SVC_(GdiGetTransform, 3) +SVC_(GdiGetUFI, 6) +SVC_(GdiGetEmbUFI, 7) +SVC_(GdiGetUFIPathname, 10) +SVC_(GdiGetEmbedFonts, 0) +SVC_(GdiChangeGhostFont, 2) +SVC_(GdiAddEmbFontToDC, 2) +SVC_(GdiGetFontUnicodeRanges, 2) +SVC_(GdiGetWidthTable, 7) +SVC_(GdiGradientFill, 6) +SVC_(GdiHfontCreate, 5) +SVC_(GdiIcmBrushInfo, 8) +SVC_(GdiInit, 0) +SVC_(GdiInitSpool, 0) +SVC_(GdiIntersectClipRect, 5) +SVC_(GdiInvertRgn, 2) +SVC_(GdiLineTo, 3) +SVC_(GdiMakeFontDir, 5) +SVC_(GdiMakeInfoDC, 2) +SVC_(GdiMaskBlt, 13) +SVC_(GdiModifyWorldTransform, 3) +SVC_(GdiMonoBitmap, 1) +SVC_(GdiMoveTo, 4) +SVC_(GdiOffsetClipRgn, 3) +SVC_(GdiOffsetRgn, 3) +SVC_(GdiOpenDCW, 7) +SVC_(GdiPatBlt, 6) +SVC_(GdiPolyPatBlt, 5) +SVC_(GdiPathToRegion, 1) +SVC_(GdiPlgBlt, 11) +SVC_(GdiPolyDraw, 4) +SVC_(GdiPolyPolyDraw, 5) +SVC_(GdiPolyTextOutW, 4) +SVC_(GdiPtInRegion, 3) +SVC_(GdiPtVisible, 3) +SVC_(GdiQueryFonts, 3) +SVC_(GdiQueryFontAssocInfo, 1) +SVC_(GdiRectangle, 5) +SVC_(GdiRectInRegion, 2) +SVC_(GdiRectVisible, 2) +SVC_(GdiRemoveFontResourceW, 6) +SVC_(GdiRemoveFontMemResourceEx, 1) +SVC_(GdiResetDC, 5) +SVC_(GdiResizePalette, 2) +SVC_(GdiRestoreDC, 2) +SVC_(GdiRoundRect, 7) +SVC_(GdiSaveDC, 1) +SVC_(GdiScaleViewportExtEx, 6) +SVC_(GdiScaleWindowExtEx, 6) +SVC_(GdiSelectBitmap, 2) +SVC_(GdiSelectBrush, 2) +SVC_(GdiSelectClipPath, 2) +SVC_(GdiSelectFont, 2) +SVC_(GdiSelectPen, 2) +SVC_(GdiSetBitmapAttributes, 2) +SVC_(GdiSetBitmapBits, 3) +SVC_(GdiSetBitmapDimension, 4) +SVC_(GdiSetBoundsRect, 3) +SVC_(GdiSetBrushAttributes, 2) +SVC_(GdiSetBrushOrg, 4) +SVC_(GdiSetColorAdjustment, 2) +SVC_(GdiSetColorSpace, 2) +SVC_(GdiSetDeviceGammaRamp, 2) +SVC_(GdiSetDIBitsToDeviceInternal, 16) +SVC_(GdiSetFontEnumeration, 1) +SVC_(GdiSetFontXform, 3) +SVC_(GdiSetIcmMode, 3) +SVC_(GdiSetLinkedUFIs, 3) +SVC_(GdiSetMagicColors, 3) +SVC_(GdiSetMetaRgn, 1) +SVC_(GdiSetMiterLimit, 3) +SVC_(GdiGetDeviceWidth, 1) +SVC_(GdiMirrorWindowOrg, 1) +SVC_(GdiSetLayout, 3) +SVC_(GdiSetPixel, 4) +SVC_(GdiSetPixelFormat, 2) +SVC_(GdiSetRectRgn, 5) +SVC_(GdiSetSystemPaletteUse, 2) +SVC_(GdiSetTextJustification, 3) +SVC_(GdiSetupPublicCFONT, 3) +SVC_(GdiSetVirtualResolution, 5) +SVC_(GdiSetSizeDevice, 3) +SVC_(GdiStartDoc, 4) +SVC_(GdiStartPage, 1) +SVC_(GdiStretchBlt, 12) +SVC_(GdiStretchDIBitsInternal, 16) +SVC_(GdiStrokeAndFillPath, 1) +SVC_(GdiStrokePath, 1) +SVC_(GdiSwapBuffers, 1) +SVC_(GdiTransformPoints, 5) +SVC_(GdiTransparentBlt, 11) +SVC_(GdiUnloadPrinterDriver, 2) +SVC_(GdiUnmapMemFont, 1) +SVC_(GdiUnrealizeObject, 1) +SVC_(GdiUpdateColors, 1) +SVC_(GdiWidenPath, 1) +SVC_(UserActivateKeyboardLayout, 2) +SVC_(UserAlterWindowStyle, 3) +SVC_(UserAssociateInputContext, 3) +SVC_(UserAttachThreadInput, 3) +SVC_(UserBeginPaint, 2) +SVC_(UserBitBltSysBmp, 8) +SVC_(UserBlockInput, 1) +SVC_(UserBuildHimcList, 4) +SVC_(UserBuildHwndList, 7) +SVC_(UserBuildNameList, 4) +SVC_(UserBuildPropList, 4) +SVC_(UserCallHwnd, 2) +SVC_(UserCallHwndLock, 2) +SVC_(UserCallHwndOpt, 2) +SVC_(UserCallHwndParam, 3) +SVC_(UserCallHwndParamLock, 3) +SVC_(UserCallMsgFilter, 2) +SVC_(UserCallNextHookEx, 4) +SVC_(UserCallNoParam, 1) +SVC_(UserCallOneParam, 2) +SVC_(UserCallTwoParam, 3) +SVC_(UserChangeClipboardChain, 2) +SVC_(UserChangeDisplaySettings, 4) +SVC_(UserCheckImeHotKey, 2) +SVC_(UserCheckMenuItem, 3) +SVC_(UserChildWindowFromPointEx, 4) +SVC_(UserClipCursor, 1) +SVC_(UserCloseClipboard, 0) +SVC_(UserCloseDesktop, 1) +SVC_(UserCloseWindowStation, 1) +SVC_(UserConsoleControl, 3) +SVC_(UserConvertMemHandle, 2) +SVC_(UserCopyAcceleratorTable, 3) +SVC_(UserCountClipboardFormats, 0) +SVC_(UserCreateAcceleratorTable, 2) +SVC_(UserCreateCaret, 4) +SVC_(UserCreateDesktop, 5) +SVC_(UserCreateInputContext, 1) +SVC_(UserCreateLocalMemHandle, 4) +SVC_(UserCreateWindowEx, 15) +SVC_(UserCreateWindowStation, 7) +SVC_(UserDdeGetQualityOfService, 3) +SVC_(UserDdeInitialize, 5) +SVC_(UserDdeSetQualityOfService, 3) +SVC_(UserDeferWindowPos, 8) +SVC_(UserDefSetText, 2) +SVC_(UserDeleteMenu, 3) +SVC_(UserDestroyAcceleratorTable, 1) +SVC_(UserDestroyCursor, 2) +SVC_(UserDestroyInputContext, 1) +SVC_(UserDestroyMenu, 1) +SVC_(UserDestroyWindow, 1) +SVC_(UserDisableThreadIme, 1) +SVC_(UserDispatchMessage, 1) +SVC_(UserDragDetect, 3) +SVC_(UserDragObject, 5) +SVC_(UserDrawAnimatedRects, 4) +SVC_(UserDrawCaption, 4) +SVC_(UserDrawCaptionTemp, 7) +SVC_(UserDrawIconEx, 11) +SVC_(UserDrawMenuBarTemp, 5) +SVC_(UserEmptyClipboard, 0) +SVC_(UserEnableMenuItem, 3) +SVC_(UserEnableScrollBar, 3) +SVC_(UserEndDeferWindowPosEx, 2) +SVC_(UserEndMenu, 0) +SVC_(UserEndPaint, 2) +SVC_(UserEnumDisplayDevices, 4) +SVC_(UserEnumDisplayMonitors, 4) +SVC_(UserEnumDisplaySettings, 4) +SVC_(UserEvent, 1) +SVC_(UserExcludeUpdateRgn, 2) +SVC_(UserFillWindow, 4) +SVC_(UserFindExistingCursorIcon, 3) +SVC_(UserFindWindowEx, 5) +SVC_(UserFlashWindowEx, 1) +SVC_(UserGetAltTabInfo, 6) +SVC_(UserGetAncestor, 2) +SVC_(UserGetAppImeLevel, 1) +SVC_(UserGetAsyncKeyState, 1) +SVC_(UserGetAtomName, 2) +SVC_(UserGetCaretBlinkTime, 0) +SVC_(UserGetCaretPos, 1) +SVC_(UserGetClassInfoEx, 5) +SVC_(UserGetClassName, 3) +SVC_(UserGetClipboardData, 2) +SVC_(UserGetClipboardFormatName, 3) +SVC_(UserGetClipboardOwner, 0) +SVC_(UserGetClipboardSequenceNumber, 0) +SVC_(UserGetClipboardViewer, 0) +SVC_(UserGetClipCursor, 1) +SVC_(UserGetComboBoxInfo, 2) +SVC_(UserGetControlBrush, 3) +SVC_(UserGetControlColor, 4) +SVC_(UserGetCPD, 3) +SVC_(UserGetCursorFrameInfo, 4) +SVC_(UserGetCursorInfo, 1) +SVC_(UserGetDC, 1) +SVC_(UserGetDCEx, 3) +SVC_(UserGetDoubleClickTime, 0) +SVC_(UserGetForegroundWindow, 0) +SVC_(UserGetGuiResources, 2) +SVC_(UserGetGUIThreadInfo, 2) +SVC_(UserGetIconInfo, 6) +SVC_(UserGetIconSize, 4) +SVC_(UserGetImeHotKey, 4) +SVC_(UserGetImeInfoEx, 2) +SVC_(UserGetInternalWindowPos, 3) +SVC_(UserGetKeyboardLayoutList, 2) +SVC_(UserGetKeyboardLayoutName, 1) +SVC_(UserGetKeyboardState, 1) +SVC_(UserGetKeyNameText, 3) +SVC_(UserGetKeyState, 1) +SVC_(UserGetListBoxInfo, 1) +SVC_(UserGetMenuBarInfo, 4) +SVC_(UserGetMenuIndex, 2) +SVC_(UserGetMenuItemRect, 4) +SVC_(UserGetMessage, 4) +SVC_(UserGetMouseMovePointsEx, 5) +SVC_(UserGetObjectInformation, 5) +SVC_(UserGetOpenClipboardWindow, 0) +SVC_(UserGetPriorityClipboardFormat, 2) +SVC_(UserGetProcessWindowStation, 0) +SVC_(UserGetRawInputBuffer, 3) +SVC_(UserGetRawInputData, 5) +SVC_(UserGetRawInputDeviceInfo, 4) +SVC_(UserGetRawInputDeviceList, 3) +SVC_(UserGetRegisteredRawInputDevices, 3) +SVC_(UserGetScrollBarInfo, 3) +SVC_(UserGetSystemMenu, 2) +SVC_(UserGetThreadDesktop, 2) +SVC_(UserGetThreadState, 1) +SVC_(UserGetTitleBarInfo, 2) +SVC_(UserGetUpdateRect, 3) +SVC_(UserGetUpdateRgn, 3) +SVC_(UserGetWindowDC, 1) +SVC_(UserGetWindowPlacement, 2) +SVC_(UserGetWOWClass, 2) +SVC_(UserHardErrorControl, 3) +SVC_(UserHideCaret, 1) +SVC_(UserHiliteMenuItem, 4) +SVC_(UserImpersonateDdeClientWindow, 2) +SVC_(UserInitialize, 3) +SVC_(UserInitializeClientPfnArrays, 4) +SVC_(UserInitTask, 12) +SVC_(UserInternalGetWindowText, 3) +SVC_(UserInvalidateRect, 3) +SVC_(UserInvalidateRgn, 3) +SVC_(UserIsClipboardFormatAvailable, 1) +SVC_(UserKillTimer, 2) +SVC_(UserLoadKeyboardLayoutEx, 7) +SVC_(UserLockWindowStation, 1) +SVC_(UserLockWindowUpdate, 1) +SVC_(UserLockWorkStation, 0) +SVC_(UserMapVirtualKeyEx, 4) +SVC_(UserMenuItemFromPoint, 4) +SVC_(UserMessageCall, 7) +SVC_(UserMinMaximize, 3) +SVC_(UserMNDragLeave, 0) +SVC_(UserMNDragOver, 2) +SVC_(UserModifyUserStartupInfoFlags, 2) +SVC_(UserMoveWindow, 6) +SVC_(UserNotifyIMEStatus, 3) +SVC_(UserNotifyProcessCreate, 4) +SVC_(UserNotifyWinEvent, 4) +SVC_(UserOpenClipboard, 2) +SVC_(UserOpenDesktop, 3) +SVC_(UserOpenInputDesktop, 3) +SVC_(UserOpenWindowStation, 2) +SVC_(UserPaintDesktop, 1) +SVC_(UserPeekMessage, 5) +SVC_(UserPostMessage, 4) +SVC_(UserPostThreadMessage, 4) +SVC_(UserPrintWindow, 3) +SVC_(UserProcessConnect, 3) +SVC_(UserQueryInformationThread, 4) +SVC_(UserQueryInputContext, 2) +SVC_(UserQuerySendMessage, 1) +SVC_(UserQueryWindow, 2) +SVC_(UserRealChildWindowFromPoint, 3) +SVC_(UserRealInternalGetMessage, 6) +SVC_(UserRealWaitMessageEx, 2) +SVC_(UserRedrawWindow, 4) +SVC_(UserRegisterClassExWOW, 7) +SVC_(UserRegisterUserApiHook, 4) +SVC_(UserRegisterHotKey, 4) +SVC_(UserRegisterRawInputDevices, 3) +SVC_(UserRegisterTasklist, 1) +SVC_(UserRegisterWindowMessage, 1) +SVC_(UserRemoveMenu, 3) +SVC_(UserRemoveProp, 2) +SVC_(UserResolveDesktop, 4) +SVC_(UserResolveDesktopForWOW, 1) +SVC_(UserSBGetParms, 4) +SVC_(UserScrollDC, 7) +SVC_(UserScrollWindowEx, 8) +SVC_(UserSelectPalette, 3) +SVC_(UserSendInput, 3) +SVC_(UserSetActiveWindow, 1) +SVC_(UserSetAppImeLevel, 2) +SVC_(UserSetCapture, 1) +SVC_(UserSetClassLong, 4) +SVC_(UserSetClassWord, 3) +SVC_(UserSetClipboardData, 3) +SVC_(UserSetClipboardViewer, 1) +SVC_(UserSetConsoleReserveKeys, 2) +SVC_(UserSetCursor, 1) +SVC_(UserSetCursorContents, 2) +SVC_(UserSetCursorIconData, 4) +SVC_(UserSetFocus, 1) +SVC_(UserSetImeHotKey, 5) +SVC_(UserSetImeInfoEx, 1) +SVC_(UserSetImeOwnerWindow, 2) +SVC_(UserSetInformationProcess, 4) +SVC_(UserSetInformationThread, 4) +SVC_(UserSetInternalWindowPos, 4) +SVC_(UserSetKeyboardState, 1) +SVC_(UserSetLogonNotifyWindow, 1) +SVC_(UserSetMenu, 3) +SVC_(UserSetMenuContextHelpId, 2) +SVC_(UserSetMenuDefaultItem, 3) +SVC_(UserSetMenuFlagRtoL, 1) +SVC_(UserSetObjectInformation, 4) +SVC_(UserSetParent, 2) +SVC_(UserSetProcessWindowStation, 1) +SVC_(UserSetProp, 3) +SVC_(UserSetScrollInfo, 4) +SVC_(UserSetShellWindowEx, 2) +SVC_(UserSetSysColors, 4) +SVC_(UserSetSystemCursor, 2) +SVC_(UserSetSystemMenu, 2) +SVC_(UserSetSystemTimer, 4) +SVC_(UserSetThreadDesktop, 1) +SVC_(UserSetThreadLayoutHandles, 2) +SVC_(UserSetThreadState, 2) +SVC_(UserSetTimer, 4) +SVC_(UserSetWindowFNID, 2) +SVC_(UserSetWindowLong, 4) +SVC_(UserSetWindowPlacement, 2) +SVC_(UserSetWindowPos, 7) +SVC_(UserSetWindowRgn, 3) +SVC_(UserSetWindowsHookAW, 3) +SVC_(UserSetWindowsHookEx, 6) +SVC_(UserSetWindowStationUser, 4) +SVC_(UserSetWindowWord, 3) +SVC_(UserSetWinEventHook, 8) +SVC_(UserShowCaret, 1) +SVC_(UserShowScrollBar, 3) +SVC_(UserShowWindow, 2) +SVC_(UserShowWindowAsync, 2) +SVC_(UserSoundSentry, 0) +SVC_(UserSwitchDesktop, 1) +SVC_(UserSystemParametersInfo, 4) +SVC_(UserTestForInteractiveUser, 1) +SVC_(UserThunkedMenuInfo, 2) +SVC_(UserThunkedMenuItemInfo, 6) +SVC_(UserToUnicodeEx, 7) +SVC_(UserTrackMouseEvent, 1) +SVC_(UserTrackPopupMenuEx, 6) +SVC_(UserCalcMenuBar, 5) +SVC_(UserPaintMenuBar, 6) +SVC_(UserTranslateAccelerator, 3) +SVC_(UserTranslateMessage, 2) +SVC_(UserUnhookWindowsHookEx, 1) +SVC_(UserUnhookWinEvent, 1) +SVC_(UserUnloadKeyboardLayout, 1) +SVC_(UserUnlockWindowStation, 1) +SVC_(UserUnregisterClass, 3) +SVC_(UserUnregisterUserApiHook, 0) +SVC_(UserUnregisterHotKey, 2) +SVC_(UserUpdateInputContext, 3) +SVC_(UserUpdateInstance, 3) +SVC_(UserUpdateLayeredWindow, 10) +SVC_(UserGetLayeredWindowAttributes, 4) +SVC_(UserSetLayeredWindowAttributes, 4) +SVC_(UserUpdatePerUserSystemParameters, 2) +SVC_(UserUserHandleGrantAccess, 3) +SVC_(UserValidateHandleSecure, 1) +SVC_(UserValidateRect, 2) +SVC_(UserValidateTimerCallback, 1) +SVC_(UserVkKeyScanEx, 3) +SVC_(UserWaitForInputIdle, 3) +SVC_(UserWaitForMsgAndEvent, 1) +SVC_(UserWaitMessage, 0) +SVC_(UserWin32PoolAllocationStats, 6) +SVC_(UserWindowFromPoint, 2) +SVC_(UserYieldTask, 0) +SVC_(UserRemoteConnect, 3) +SVC_(UserRemoteRedrawRectangle, 4) +SVC_(UserRemoteRedrawScreen, 0) +SVC_(UserRemoteStopScreenUpdates, 0) +SVC_(UserCtxDisplayIOCtl, 3) +SVC_(GdiEngAssociateSurface, 3) +SVC_(GdiEngCreateBitmap, 6) +SVC_(GdiEngCreateDeviceSurface, 4) +SVC_(GdiEngCreateDeviceBitmap, 4) +SVC_(GdiEngCreatePalette, 6) +SVC_(GdiEngComputeGlyphSet, 3) +SVC_(GdiEngCopyBits, 6) +SVC_(GdiEngDeletePalette, 1) +SVC_(GdiEngDeleteSurface, 1) +SVC_(GdiEngEraseSurface, 3) +SVC_(GdiEngUnlockSurface, 1) +SVC_(GdiEngLockSurface, 1) +SVC_(GdiEngBitBlt, 11) +SVC_(GdiEngStretchBlt, 11) +SVC_(GdiEngPlgBlt, 11) +SVC_(GdiEngMarkBandingSurface, 1) +SVC_(GdiEngStrokePath, 8) +SVC_(GdiEngFillPath, 7) +SVC_(GdiEngStrokeAndFillPath, 10) +SVC_(GdiEngPaint, 5) +SVC_(GdiEngLineTo, 9) +SVC_(GdiEngAlphaBlend, 7) +SVC_(GdiEngGradientFill, 10) +SVC_(GdiEngTransparentBlt, 8) +SVC_(GdiEngTextOut, 10) +SVC_(GdiEngStretchBltROP, 13) +SVC_(GdiXLATEOBJ_cGetPalette, 4) +SVC_(GdiXLATEOBJ_iXlate, 2) +SVC_(GdiXLATEOBJ_hGetColorTransform, 1) +SVC_(GdiCLIPOBJ_bEnum, 3) +SVC_(GdiCLIPOBJ_cEnumStart, 5) +SVC_(GdiCLIPOBJ_ppoGetPath, 1) +SVC_(GdiEngDeletePath, 1) +SVC_(GdiEngCreateClip, 0) +SVC_(GdiEngDeleteClip, 1) +SVC_(GdiBRUSHOBJ_ulGetBrushColor, 1) +SVC_(GdiBRUSHOBJ_pvAllocRbrush, 2) +SVC_(GdiBRUSHOBJ_pvGetRbrush, 1) +SVC_(GdiBRUSHOBJ_hGetColorTransform, 1) +SVC_(GdiXFORMOBJ_bApplyXform, 5) +SVC_(GdiXFORMOBJ_iGetXform, 2) +SVC_(GdiFONTOBJ_vGetInfo, 3) +SVC_(GdiFONTOBJ_pxoGetXform, 1) +SVC_(GdiFONTOBJ_cGetGlyphs, 5) +SVC_(GdiFONTOBJ_pifi, 1) +SVC_(GdiFONTOBJ_pfdg, 1) +SVC_(GdiFONTOBJ_pQueryGlyphAttrs, 2) +SVC_(GdiFONTOBJ_pvTrueTypeFontFile, 2) +SVC_(GdiFONTOBJ_cGetAllGlyphHandles, 2) +SVC_(GdiSTROBJ_bEnum, 3) +SVC_(GdiSTROBJ_bEnumPositionsOnly, 3) +SVC_(GdiSTROBJ_bGetAdvanceWidths, 4) +SVC_(GdiSTROBJ_vEnumStart, 1) +SVC_(GdiSTROBJ_dwGetCodePage, 1) +SVC_(GdiPATHOBJ_vGetBounds, 2) +SVC_(GdiPATHOBJ_bEnum, 2) +SVC_(GdiPATHOBJ_vEnumStart, 1) +SVC_(GdiPATHOBJ_vEnumStartClipLines, 4) +SVC_(GdiPATHOBJ_bEnumClipLines, 3) +SVC_(GdiGetDhpdev, 1) +SVC_(GdiEngCheckAbort, 1) +SVC_(GdiHT_Get8BPPFormatPalette, 4) +SVC_(GdiHT_Get8BPPMaskPalette, 6) +SVC_(GdiUpdateTransform, 1) +SVC_(GdiSetPUMPDOBJ, 4) +SVC_(GdiBRUSHOBJ_DeleteRbrush, 2) +SVC_(GdiUMPDEngFreeUserMem, 1) +SVC_(GdiDrawStream, 3) +SVC_(GdiMakeObjectXferable, 2) +SVC_(GdiMakeObjectUnXferable, 1) diff --git a/rostests/apitests/w32kdll/w32kdll_ros/CMakeLists.txt b/rostests/apitests/w32kdll/w32kdll_ros/CMakeLists.txt index a7dc46d3398..67b490242d9 100644 --- a/rostests/apitests/w32kdll/w32kdll_ros/CMakeLists.txt +++ b/rostests/apitests/w32kdll/w32kdll_ros/CMakeLists.txt @@ -1,12 +1,11 @@ spec2def(w32kdll_ros.dll w32kdll_ros.spec ADD_IMPORTLIB) -add_library(w32kdll_ros SHARED +add_library(w32kdll_ros SHARED main.c + sys-stubs.S ${CMAKE_CURRENT_BINARY_DIR}/w32kdll_ros.def) set_entrypoint(w32kdll_ros 0) -target_link_libraries(w32kdll_ros win32ksys) - add_dependencies(w32kdll_ros psdk) diff --git a/rostests/apitests/w32kdll/w32kdll_ros/sys-stubs.S b/rostests/apitests/w32kdll/w32kdll_ros/sys-stubs.S new file mode 100644 index 00000000000..97c39b07fe8 --- /dev/null +++ b/rostests/apitests/w32kdll/w32kdll_ros/sys-stubs.S @@ -0,0 +1,12 @@ + +#include +#include + +.code + +SyscallId = HEX(1000) +#define SVC_(name, argcount) STUB_U name, argcount + +#include "win32ksvc-ros.h" + +END diff --git a/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec b/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec index 81d3b8540e7..20f67f548f2 100644 --- a/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec +++ b/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec @@ -238,7 +238,7 @@ @ stdcall NtGdiMoveTo(ptr long long ptr) @ stdcall NtGdiOffsetClipRgn(ptr long long) @ stdcall NtGdiOffsetRgn(ptr long long) -@ stdcall NtGdiOpenDCW(ptr ptr ptr long ptr long ptr ptr) +@ stdcall NtGdiOpenDCW(ptr ptr ptr long ptr long ptr ptr) # FIXME: 7 params on XP @ stdcall NtGdiPatBlt(ptr long long long long long) @ stdcall NtGdiPolyPatBlt(ptr long ptr long long) @ stdcall NtGdiPathToRegion(ptr) @@ -377,22 +377,22 @@ @ stdcall NtUserEndMenu() @ stdcall NtUserEndPaint(ptr ptr) @ stdcall NtUserEnumDisplayDevices(ptr long ptr long) -; @ stdcall NtUserEnumDisplayMonitors(ptr ptr ptr ptr) +@ stdcall NtUserEnumDisplayMonitors(ptr ptr ptr ptr) # FIXME: 4 on XP @ stdcall NtUserEnumDisplaySettings(ptr long ptr long) @ stdcall NtUserEvent(long) @ stdcall NtUserExcludeUpdateRgn(ptr ptr) @ stdcall NtUserFillWindow(ptr ptr ptr ptr) -; @ stdcall NtUserFindExistingCursorIcon(ptr ptr ptr) +@ stdcall NtUserFindExistingCursorIcon(ptr ptr ptr ptr) # FIXME: 3 on XP @ stdcall NtUserFindWindowEx(ptr ptr ptr ptr long) @ stdcall NtUserFlashWindowEx(ptr) @ stdcall NtUserGetAltTabInfo(ptr long ptr wstr long long) @ stdcall NtUserGetAncestor(ptr long) -; @ stdcall NtUserGetAppImeLevel(long) +@ stdcall NtUserGetAppImeLevel(long) @ stdcall NtUserGetAsyncKeyState(long) @ stdcall NtUserGetAtomName(long ptr) @ stdcall NtUserGetCaretBlinkTime() @ stdcall NtUserGetCaretPos(ptr) -; @ stdcall NtUserGetClassInfo(ptr ptr ptr ptr long) +@ stdcall NtUserGetClassInfo(ptr ptr ptr ptr long) @ stdcall NtUserGetClassName(ptr long ptr) @ stdcall NtUserGetClipboardData(long ptr) @ stdcall NtUserGetClipboardFormatName(long wstr ptr) @@ -494,7 +494,7 @@ @ stdcall NtUserRealWaitMessageEx(long long) @ stdcall NtUserRedrawWindow(ptr ptr ptr long) @ stdcall NtUserRegisterClassExWOW(ptr ptr ptr ptr long long ptr) -@ stdcall NtUserRegisterUserApiHook(ptr ptr long long) +@ stdcall NtUserRegisterUserApiHook(ptr ptr long long) # FIXME: 2 params on XP @ stdcall NtUserRegisterHotKey(ptr long long long) @ stdcall NtUserRegisterRawInputDevices(ptr long long) @ stdcall NtUserRegisterTasklist(long) @@ -518,7 +518,7 @@ @ stdcall NtUserSetConsoleReserveKeys(long long) @ stdcall NtUserSetCursor(ptr) @ stdcall NtUserSetCursorContents(ptr ptr) -; @ stdcall NtUserSetCursorIconData(ptr ptr ptr ptr) +; @ stdcall NtUserSetCursorIconData(ptr ptr ptr ptr) # FIXME 4 with new iconcursor / XP @ stdcall NtUserSetDbgTag(long long) @ stdcall NtUserSetFocus(ptr) @ stdcall NtUserSetImeHotKey(long long long long long) @@ -579,12 +579,12 @@ @ stdcall NtUserUnhookWinEvent(ptr) @ stdcall NtUserUnloadKeyboardLayout(ptr) @ stdcall NtUserUnlockWindowStation(ptr) -; @ stdcall NtUserUnregisterClass(ptr ptr ptr) +@ stdcall NtUserUnregisterClass(ptr ptr ptr) @ stdcall NtUserUnregisterUserApiHook() @ stdcall NtUserUnregisterHotKey(ptr long) @ stdcall NtUserUpdateInputContext(long long long) @ stdcall NtUserUpdateInstance(long long long) -@ stdcall NtUserUpdateLayeredWindow(ptr ptr ptr ptr ptr ptr long ptr long ptr) +@ stdcall NtUserUpdateLayeredWindow(ptr ptr ptr ptr ptr ptr long ptr long ptr) # FIXME: 9 params on XP @ stdcall NtUserGetLayeredWindowAttributes(ptr ptr ptr ptr) @ stdcall NtUserSetLayeredWindowAttributes(ptr long long long) @ stdcall NtUserUpdatePerUserSystemParameters(long long) @@ -597,6 +597,7 @@ @ stdcall NtUserWaitForMsgAndEvent(long) @ stdcall NtUserWaitMessage() @ stdcall NtUserWin32PoolAllocationStats(long long long long long long) +@ stdcall NtUserWindowFromPhysicalPoint(ptr ptr) # Vista @ stdcall NtUserWindowFromPoint(long long) @ stdcall NtUserYieldTask() @ stdcall NtUserRemoteConnect(long long long) @@ -671,5 +672,5 @@ @ stdcall NtGdiSetPUMPDOBJ(ptr long ptr ptr) @ stdcall NtGdiBRUSHOBJ_DeleteRbrush(ptr ptr) @ stdcall NtGdiUMPDEngFreeUserMem(ptr) -@ stdcall NtGdiUnmapMemFont(ptr) @ stdcall NtGdiDrawStream(ptr long ptr) + diff --git a/rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h b/rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h new file mode 100644 index 00000000000..1dac35fa701 --- /dev/null +++ b/rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h @@ -0,0 +1,698 @@ +// SVC_(, ) +// +// Funcs order, should, match, Windows, XP, 5.1.2600, SP2) +// +SVC_(GdiAbortDoc, 1) +SVC_(GdiAbortPath, 1) +SVC_(GdiAddFontResourceW, 6) +SVC_(GdiAddRemoteFontToDC, 4) +SVC_(GdiAddFontMemResourceEx, 5) +SVC_(GdiRemoveMergeFont, 2) +SVC_(GdiAddRemoteMMInstanceToDC, 3) +SVC_(GdiAlphaBlend, 12) +SVC_(GdiAngleArc, 6) +SVC_(GdiAnyLinkedFonts, 0) +SVC_(GdiFontIsLinked, 1) +SVC_(GdiArcInternal, 10) +SVC_(GdiBeginPath, 1) +SVC_(GdiBitBlt, 11) +SVC_(GdiCancelDC, 1) +SVC_(GdiCheckBitmapBits, 8) +SVC_(GdiCloseFigure, 1) +SVC_(GdiClearBitmapAttributes, 2) +SVC_(GdiClearBrushAttributes, 2) +SVC_(GdiColorCorrectPalette, 6) +SVC_(GdiCombineRgn, 4) +SVC_(GdiCombineTransform, 3) +SVC_(GdiComputeXformCoefficients, 1) +SVC_(GdiConsoleTextOut, 4) +SVC_(GdiConvertMetafileRect, 2) +SVC_(GdiCreateBitmap, 5) +SVC_(GdiCreateClientObj, 1) +SVC_(GdiCreateColorSpace, 1) +SVC_(GdiCreateColorTransform, 8) +SVC_(GdiCreateCompatibleBitmap, 3) +SVC_(GdiCreateCompatibleDC, 1) +SVC_(GdiCreateDIBBrush, 6) +SVC_(GdiCreateDIBitmapInternal, 11) +SVC_(GdiCreateDIBSection, 9) +SVC_(GdiCreateEllipticRgn, 4) +SVC_(GdiCreateHalftonePalette, 1) +SVC_(GdiCreateHatchBrushInternal, 3) +SVC_(GdiCreateMetafileDC, 1) +SVC_(GdiCreatePaletteInternal, 2) +SVC_(GdiCreatePatternBrushInternal, 3) +SVC_(GdiCreatePen, 4) +SVC_(GdiCreateRectRgn, 4) +SVC_(GdiCreateRoundRectRgn, 6) +SVC_(GdiCreateServerMetaFile, 6) +SVC_(GdiCreateSolidBrush, 2) +SVC_(GdiD3dContextCreate, 4) +SVC_(GdiD3dContextDestroy, 1) +SVC_(GdiD3dContextDestroyAll, 1) +SVC_(GdiD3dValidateTextureStageState, 1) +SVC_(GdiD3dDrawPrimitives2, 7) +SVC_(GdiDdGetDriverState, 1) +SVC_(GdiDdAddAttachedSurface, 3) +SVC_(GdiDdAlphaBlt, 3) +SVC_(GdiDdAttachSurface, 2) +SVC_(GdiDdBeginMoCompFrame, 2) +SVC_(GdiDdBlt, 3) +SVC_(GdiDdCanCreateSurface, 2) +SVC_(GdiDdCanCreateD3DBuffer, 2) +SVC_(GdiDdColorControl, 2) +SVC_(GdiDdCreateDirectDrawObject, 1) +SVC_(GdiDdCreateSurface, 8) +SVC_(GdiDdCreateD3DBuffer, 8) +SVC_(GdiDdCreateMoComp, 2) +SVC_(GdiDdCreateSurfaceObject, 6) +SVC_(GdiDdDeleteDirectDrawObject, 1) +SVC_(GdiDdDeleteSurfaceObject, 1) +SVC_(GdiDdDestroyMoComp, 2) +SVC_(GdiDdDestroySurface, 2) +SVC_(GdiDdDestroyD3DBuffer, 1) +SVC_(GdiDdEndMoCompFrame, 2) +SVC_(GdiDdFlip, 5) +SVC_(GdiDdFlipToGDISurface, 2) +SVC_(GdiDdGetAvailDriverMemory, 2) +SVC_(GdiDdGetBltStatus, 2) +SVC_(GdiDdGetDC, 2) +SVC_(GdiDdGetDriverInfo, 2) +SVC_(GdiDdGetDxHandle, 3) +SVC_(GdiDdGetFlipStatus, 2) +SVC_(GdiDdGetInternalMoCompInfo, 2) +SVC_(GdiDdGetMoCompBuffInfo, 2) +SVC_(GdiDdGetMoCompGuids, 2) +SVC_(GdiDdGetMoCompFormats, 2) +SVC_(GdiDdGetScanLine, 2) +SVC_(GdiDdLock, 3) +SVC_(GdiDdLockD3D, 2) +SVC_(GdiDdQueryDirectDrawObject, 11) +SVC_(GdiDdQueryMoCompStatus, 2) +SVC_(GdiDdReenableDirectDrawObject, 2) +SVC_(GdiDdReleaseDC, 1) +SVC_(GdiDdRenderMoComp, 2) +SVC_(GdiDdResetVisrgn, 2) +SVC_(GdiDdSetColorKey, 2) +SVC_(GdiDdSetExclusiveMode, 2) +SVC_(GdiDdSetGammaRamp, 3) +SVC_(GdiDdCreateSurfaceEx, 3) +SVC_(GdiDdSetOverlayPosition, 3) +SVC_(GdiDdUnattachSurface, 2) +SVC_(GdiDdUnlock, 2) +SVC_(GdiDdUnlockD3D, 2) +SVC_(GdiDdUpdateOverlay, 3) +SVC_(GdiDdWaitForVerticalBlank, 2) +SVC_(GdiDvpCanCreateVideoPort, 2) +SVC_(GdiDvpColorControl, 2) +SVC_(GdiDvpCreateVideoPort, 2) +SVC_(GdiDvpDestroyVideoPort, 2) +SVC_(GdiDvpFlipVideoPort, 4) +SVC_(GdiDvpGetVideoPortBandwidth, 2) +SVC_(GdiDvpGetVideoPortField, 2) +SVC_(GdiDvpGetVideoPortFlipStatus, 2) +SVC_(GdiDvpGetVideoPortInputFormats, 2) +SVC_(GdiDvpGetVideoPortLine, 2) +SVC_(GdiDvpGetVideoPortOutputFormats, 2) +SVC_(GdiDvpGetVideoPortConnectInfo, 2) +SVC_(GdiDvpGetVideoSignalStatus, 2) +SVC_(GdiDvpUpdateVideoPort, 4) +SVC_(GdiDvpWaitForVideoPortSync, 2) +SVC_(GdiDvpAcquireNotification, 3) +SVC_(GdiDvpReleaseNotification, 2) +SVC_(GdiDxgGenericThunk, 6) +SVC_(GdiDeleteClientObj, 1) +SVC_(GdiDeleteColorSpace, 1) +SVC_(GdiDeleteColorTransform, 2) +SVC_(GdiDeleteObjectApp, 1) +SVC_(GdiDescribePixelFormat, 4) +SVC_(GdiGetPerBandInfo, 2) +SVC_(GdiDoBanding, 4) +SVC_(GdiDoPalette, 6) +SVC_(GdiDrawEscape, 4) +SVC_(GdiEllipse, 5) +SVC_(GdiEnableEudc, 1) +SVC_(GdiEndDoc, 1) +SVC_(GdiEndPage, 1) +SVC_(GdiEndPath, 1) +SVC_(GdiEnumFontChunk, 5) +SVC_(GdiEnumFontClose, 1) +SVC_(GdiEnumFontOpen, 7) +SVC_(GdiEnumObjects, 4) +SVC_(GdiEqualRgn, 2) +SVC_(GdiEudcLoadUnloadLink, 7) +SVC_(GdiExcludeClipRect, 5) +SVC_(GdiExtCreatePen, 11) +SVC_(GdiExtCreateRegion, 3) +SVC_(GdiExtEscape, 8) +SVC_(GdiExtFloodFill, 5) +SVC_(GdiExtGetObjectW, 3) +SVC_(GdiExtSelectClipRgn, 3) +SVC_(GdiExtTextOutW, 9) +SVC_(GdiFillPath, 1) +SVC_(GdiFillRgn, 3) +SVC_(GdiFlattenPath, 1) +SVC_(GdiFlushUserBatch, 0) +SVC_(GdiFlush, 0) +SVC_(GdiForceUFIMapping, 2) +SVC_(GdiFrameRgn, 5) +SVC_(GdiFullscreenControl, 5) +SVC_(GdiGetAndSetDCDword, 4) +SVC_(GdiGetAppClipBox, 2) +SVC_(GdiGetBitmapBits, 3) +SVC_(GdiGetBitmapDimension, 2) +SVC_(GdiGetBoundsRect, 3) +SVC_(GdiGetCharABCWidthsW, 6) +SVC_(GdiGetCharacterPlacementW, 6) +SVC_(GdiGetCharSet, 1) +SVC_(GdiGetCharWidthW, 6) +SVC_(GdiGetCharWidthInfo, 2) +SVC_(GdiGetColorAdjustment, 2) +SVC_(GdiGetColorSpaceforBitmap, 1) +SVC_(GdiGetDCDword, 3) +SVC_(GdiGetDCforBitmap, 1) +SVC_(GdiGetDCObject, 2) +SVC_(GdiGetDCPoint, 3) +SVC_(GdiGetDeviceCaps, 2) +SVC_(GdiGetDeviceGammaRamp, 2) +SVC_(GdiGetDeviceCapsAll, 2) +SVC_(GdiGetDIBitsInternal, 9) +SVC_(GdiGetETM, 2) +SVC_(GdiGetEudcTimeStampEx, 3) +SVC_(GdiGetFontData, 5) +SVC_(GdiGetFontResourceInfoInternalW, 7) +SVC_(GdiGetGlyphIndicesW, 5) +SVC_(GdiGetGlyphIndicesWInternal, 6) +SVC_(GdiGetGlyphOutline, 8) +SVC_(GdiGetKerningPairs, 3) +SVC_(GdiGetLinkedUFIs, 3) +SVC_(GdiGetMiterLimit, 2) +SVC_(GdiGetMonitorID, 3) +SVC_(GdiGetNearestColor, 2) +SVC_(GdiGetNearestPaletteIndex, 2) +SVC_(GdiGetObjectBitmapHandle, 2) +SVC_(GdiGetOutlineTextMetricsInternalW, 4) +SVC_(GdiGetPath, 4) +SVC_(GdiGetPixel, 3) +SVC_(GdiGetRandomRgn, 3) +SVC_(GdiGetRasterizerCaps, 2) +SVC_(GdiGetRealizationInfo, 3) +SVC_(GdiGetRegionData, 3) +SVC_(GdiGetRgnBox, 2) +SVC_(GdiGetServerMetaFileBits, 7) +SVC_(GdiGetSpoolMessage, 4) +SVC_(GdiGetStats, 5) +SVC_(GdiGetStockObject, 1) +SVC_(GdiGetStringBitmapW, 5) +SVC_(GdiGetSystemPaletteUse, 1) +SVC_(GdiGetTextCharsetInfo, 3) +SVC_(GdiGetTextExtent, 5) +SVC_(GdiGetTextExtentExW, 8) +SVC_(GdiGetTextFaceW, 4) +SVC_(GdiGetTextMetricsW, 3) +SVC_(GdiGetTransform, 3) +SVC_(GdiGetUFI, 6) +SVC_(GdiGetEmbUFI, 7) +SVC_(GdiGetUFIPathname, 10) +SVC_(GdiGetEmbedFonts, 0) +SVC_(GdiChangeGhostFont, 2) +SVC_(GdiAddEmbFontToDC, 2) +SVC_(GdiGetFontUnicodeRanges, 2) +SVC_(GdiGetWidthTable, 7) +SVC_(GdiGradientFill, 6) +SVC_(GdiHfontCreate, 5) +SVC_(GdiIcmBrushInfo, 8) +SVC_(GdiInit, 0) +SVC_(GdiInitSpool, 0) +SVC_(GdiIntersectClipRect, 5) +SVC_(GdiInvertRgn, 2) +SVC_(GdiLineTo, 3) +SVC_(GdiMakeFontDir, 5) +SVC_(GdiMakeInfoDC, 2) +SVC_(GdiMaskBlt, 13) +SVC_(GdiModifyWorldTransform, 3) +SVC_(GdiMonoBitmap, 1) +SVC_(GdiMoveTo, 4) +SVC_(GdiOffsetClipRgn, 3) +SVC_(GdiOffsetRgn, 3) +SVC_(GdiOpenDCW, 8) /* FIXME: 7 params on XP */ +SVC_(GdiPatBlt, 6) +SVC_(GdiPolyPatBlt, 5) +SVC_(GdiPathToRegion, 1) +SVC_(GdiPlgBlt, 11) +SVC_(GdiPolyDraw, 4) +SVC_(GdiPolyPolyDraw, 5) +SVC_(GdiPolyTextOutW, 4) +SVC_(GdiPtInRegion, 3) +SVC_(GdiPtVisible, 3) +SVC_(GdiQueryFonts, 3) +SVC_(GdiQueryFontAssocInfo, 1) +SVC_(GdiRectangle, 5) +SVC_(GdiRectInRegion, 2) +SVC_(GdiRectVisible, 2) +SVC_(GdiRemoveFontResourceW, 6) +SVC_(GdiRemoveFontMemResourceEx, 1) +SVC_(GdiResetDC, 5) +SVC_(GdiResizePalette, 2) +SVC_(GdiRestoreDC, 2) +SVC_(GdiRoundRect, 7) +SVC_(GdiSaveDC, 1) +SVC_(GdiScaleViewportExtEx, 6) +SVC_(GdiScaleWindowExtEx, 6) +SVC_(GdiSelectBitmap, 2) +SVC_(GdiSelectBrush, 2) +SVC_(GdiSelectClipPath, 2) +SVC_(GdiSelectFont, 2) +SVC_(GdiSelectPen, 2) +SVC_(GdiSetBitmapAttributes, 2) +SVC_(GdiSetBitmapBits, 3) +SVC_(GdiSetBitmapDimension, 4) +SVC_(GdiSetBoundsRect, 3) +SVC_(GdiSetBrushAttributes, 2) +SVC_(GdiSetBrushOrg, 4) +SVC_(GdiSetColorAdjustment, 2) +SVC_(GdiSetColorSpace, 2) +SVC_(GdiSetDeviceGammaRamp, 2) +SVC_(GdiSetDIBitsToDeviceInternal, 16) +SVC_(GdiSetFontEnumeration, 1) +SVC_(GdiSetFontXform, 3) +SVC_(GdiSetIcmMode, 3) +SVC_(GdiSetLinkedUFIs, 3) +SVC_(GdiSetMagicColors, 3) +SVC_(GdiSetMetaRgn, 1) +SVC_(GdiSetMiterLimit, 3) +SVC_(GdiGetDeviceWidth, 1) +SVC_(GdiMirrorWindowOrg, 1) +SVC_(GdiSetLayout, 3) +SVC_(GdiSetPixel, 4) +SVC_(GdiSetPixelFormat, 2) +SVC_(GdiSetRectRgn, 5) +SVC_(GdiSetSystemPaletteUse, 2) +SVC_(GdiSetTextJustification, 3) +SVC_(GdiSetupPublicCFONT, 3) +SVC_(GdiSetVirtualResolution, 5) +SVC_(GdiSetSizeDevice, 3) +SVC_(GdiStartDoc, 4) +SVC_(GdiStartPage, 1) +SVC_(GdiStretchBlt, 12) +SVC_(GdiStretchDIBitsInternal, 16) +SVC_(GdiStrokeAndFillPath, 1) +SVC_(GdiStrokePath, 1) +SVC_(GdiSwapBuffers, 1) +SVC_(GdiTransformPoints, 5) +SVC_(GdiTransparentBlt, 11) +SVC_(GdiUnloadPrinterDriver, 2) +SVC_(GdiUnmapMemFont, 1) +SVC_(GdiUnrealizeObject, 1) +SVC_(GdiUpdateColors, 1) +SVC_(GdiWidenPath, 1) +SVC_(UserActivateKeyboardLayout, 2) +SVC_(UserAlterWindowStyle, 3) +SVC_(UserAssociateInputContext, 3) +SVC_(UserAttachThreadInput, 3) +SVC_(UserBeginPaint, 2) +SVC_(UserBitBltSysBmp, 8) +SVC_(UserBlockInput, 1) +SVC_(UserBuildHimcList, 4) +SVC_(UserBuildHwndList, 7) +SVC_(UserBuildNameList, 4) +SVC_(UserBuildPropList, 4) +SVC_(UserCallHwnd, 2) +SVC_(UserCallHwndLock, 2) +SVC_(UserCallHwndOpt, 2) +SVC_(UserCallHwndParam, 3) +SVC_(UserCallHwndParamLock, 3) +SVC_(UserCallMsgFilter, 2) +SVC_(UserCallNextHookEx, 4) +SVC_(UserCallNoParam, 1) +SVC_(UserCallOneParam, 2) +SVC_(UserCallTwoParam, 3) +SVC_(UserChangeClipboardChain, 2) +SVC_(UserChangeDisplaySettings, 5) +SVC_(UserCheckImeHotKey, 2) +SVC_(UserCheckMenuItem, 3) +SVC_(UserChildWindowFromPointEx, 4) +SVC_(UserClipCursor, 1) +SVC_(UserCloseClipboard, 0) +SVC_(UserCloseDesktop, 1) +SVC_(UserCloseWindowStation, 1) +SVC_(UserConsoleControl, 3) +SVC_(UserConvertMemHandle, 2) +SVC_(UserCopyAcceleratorTable, 3) +SVC_(UserCountClipboardFormats, 0) +SVC_(UserCreateAcceleratorTable, 2) +SVC_(UserCreateCaret, 4) +SVC_(UserCreateDesktop, 5) +SVC_(UserCreateInputContext, 1) +SVC_(UserCreateLocalMemHandle, 4) +SVC_(UserCreateWindowEx, 15) +SVC_(UserCreateWindowStation, 7) +SVC_(UserDdeGetQualityOfService, 3) +SVC_(UserDdeInitialize, 5) +SVC_(UserDdeSetQualityOfService, 3) +SVC_(UserDeferWindowPos, 8) +SVC_(UserDefSetText, 2) +SVC_(UserDeleteMenu, 3) +SVC_(UserDestroyAcceleratorTable, 1) +SVC_(UserDestroyCursor, 2) +SVC_(UserDestroyInputContext, 1) +SVC_(UserDestroyMenu, 1) +SVC_(UserDestroyWindow, 1) +SVC_(UserDisableThreadIme, 1) +SVC_(UserDispatchMessage, 1) +SVC_(UserDragDetect, 3) +SVC_(UserDragObject, 5) +SVC_(UserDrawAnimatedRects, 4) +SVC_(UserDrawCaption, 4) +SVC_(UserDrawCaptionTemp, 7) +SVC_(UserDrawIconEx, 11) +SVC_(UserDrawMenuBarTemp, 5) +SVC_(UserEmptyClipboard, 0) +SVC_(UserEnableMenuItem, 3) +SVC_(UserEnableScrollBar, 3) +SVC_(UserEndDeferWindowPosEx, 2) +SVC_(UserEndMenu, 0) +SVC_(UserEndPaint, 2) +SVC_(UserEnumDisplayDevices, 4) +SVC_(UserEnumDisplayMonitors, 5) /* FIXME: 4 on XP */ +SVC_(UserEnumDisplaySettings, 4) +SVC_(UserEvent, 1) +SVC_(UserExcludeUpdateRgn, 2) +SVC_(UserFillWindow, 4) +#ifdef NEW_CURSORICON +SVC_(UserFindExistingCursorIcon, 3) +#else +SVC_(UserFindExistingCursorIcon, 4) +#endif +SVC_(UserFindWindowEx, 5) +SVC_(UserFlashWindowEx, 1) +SVC_(UserGetAltTabInfo, 6) +SVC_(UserGetAncestor, 2) +SVC_(UserGetAppImeLevel, 1) +SVC_(UserGetAsyncKeyState, 1) +SVC_(UserGetAtomName, 2) +SVC_(UserGetCaretBlinkTime, 0) +SVC_(UserGetCaretPos, 1) +SVC_(UserGetClassInfo, 5) +SVC_(UserGetClassName, 3) +SVC_(UserGetClipboardData, 2) +SVC_(UserGetClipboardFormatName, 3) +SVC_(UserGetClipboardOwner, 0) +SVC_(UserGetClipboardSequenceNumber, 0) +SVC_(UserGetClipboardViewer, 0) +SVC_(UserGetClipCursor, 1) +SVC_(UserGetComboBoxInfo, 2) +SVC_(UserGetControlBrush, 3) +SVC_(UserGetControlColor, 4) +SVC_(UserGetCPD, 3) +SVC_(UserGetCursorFrameInfo, 4) +SVC_(UserGetCursorInfo, 1) +SVC_(UserGetDC, 1) +SVC_(UserGetDCEx, 3) +SVC_(UserGetDoubleClickTime, 0) +SVC_(UserGetForegroundWindow, 0) +SVC_(UserGetGuiResources, 2) +SVC_(UserGetGUIThreadInfo, 2) +SVC_(UserGetIconInfo, 6) +SVC_(UserGetIconSize, 4) +SVC_(UserGetImeHotKey, 4) +SVC_(UserGetImeInfoEx, 2) +SVC_(UserGetInternalWindowPos, 3) +SVC_(UserGetKeyboardLayoutList, 2) +SVC_(UserGetKeyboardLayoutName, 1) +SVC_(UserGetKeyboardState, 1) +SVC_(UserGetKeyNameText, 3) +SVC_(UserGetKeyState, 1) +SVC_(UserGetListBoxInfo, 1) +SVC_(UserGetMenuBarInfo, 4) +SVC_(UserGetMenuIndex, 2) +SVC_(UserGetMenuItemRect, 4) +SVC_(UserGetMessage, 4) +SVC_(UserGetMouseMovePointsEx, 5) +SVC_(UserGetObjectInformation, 5) +SVC_(UserGetOpenClipboardWindow, 0) +SVC_(UserGetPriorityClipboardFormat, 2) +SVC_(UserGetProcessWindowStation, 0) +SVC_(UserGetRawInputBuffer, 3) +SVC_(UserGetRawInputData, 5) +SVC_(UserGetRawInputDeviceInfo, 4) +SVC_(UserGetRawInputDeviceList, 3) +SVC_(UserGetRegisteredRawInputDevices, 3) +SVC_(UserGetScrollBarInfo, 3) +SVC_(UserGetSystemMenu, 2) +SVC_(UserGetThreadDesktop, 2) +SVC_(UserGetThreadState, 1) +SVC_(UserGetTitleBarInfo, 2) +SVC_(UserGetUpdateRect, 3) +SVC_(UserGetUpdateRgn, 3) +SVC_(UserGetWindowDC, 1) +SVC_(UserGetWindowPlacement, 2) +SVC_(UserGetWOWClass, 2) +SVC_(UserHardErrorControl, 3) +SVC_(UserHideCaret, 1) +SVC_(UserHiliteMenuItem, 4) +SVC_(UserImpersonateDdeClientWindow, 2) +SVC_(UserInitialize, 3) +SVC_(UserInitializeClientPfnArrays, 4) +SVC_(UserInitTask, 12) +SVC_(UserInternalGetWindowText, 3) +SVC_(UserInvalidateRect, 3) +SVC_(UserInvalidateRgn, 3) +SVC_(UserIsClipboardFormatAvailable, 1) +SVC_(UserKillTimer, 2) +SVC_(UserLoadKeyboardLayoutEx, 7) +SVC_(UserLockWindowStation, 1) +SVC_(UserLockWindowUpdate, 1) +SVC_(UserLockWorkStation, 0) +SVC_(UserMapVirtualKeyEx, 4) +SVC_(UserMenuItemFromPoint, 4) +SVC_(UserMessageCall, 7) +SVC_(UserMinMaximize, 3) +SVC_(UserMNDragLeave, 0) +SVC_(UserMNDragOver, 2) +SVC_(UserModifyUserStartupInfoFlags, 2) +SVC_(UserMoveWindow, 6) +SVC_(UserNotifyIMEStatus, 3) +SVC_(UserNotifyProcessCreate, 4) +SVC_(UserNotifyWinEvent, 4) +SVC_(UserOpenClipboard, 2) +SVC_(UserOpenDesktop, 3) +SVC_(UserOpenInputDesktop, 3) +SVC_(UserOpenWindowStation, 2) +SVC_(UserPaintDesktop, 1) +SVC_(UserPeekMessage, 5) +SVC_(UserPostMessage, 4) +SVC_(UserPostThreadMessage, 4) +SVC_(UserPrintWindow, 3) +SVC_(UserProcessConnect, 3) +SVC_(UserQueryInformationThread, 5) +SVC_(UserQueryInputContext, 2) +SVC_(UserQuerySendMessage, 1) +SVC_(UserQueryUserCounters, 5) +SVC_(UserQueryWindow, 2) +SVC_(UserRealChildWindowFromPoint, 3) +SVC_(UserRealInternalGetMessage, 6) +SVC_(UserRealWaitMessageEx, 2) +SVC_(UserRedrawWindow, 4) +SVC_(UserRegisterClassExWOW, 7) +SVC_(UserRegisterUserApiHook, 4) /* FIXME: 2 params on XP */ +SVC_(UserRegisterHotKey, 4) +SVC_(UserRegisterRawInputDevices, 3) +SVC_(UserRegisterTasklist, 1) +SVC_(UserRegisterWindowMessage, 1) +SVC_(UserRemoveMenu, 3) +SVC_(UserRemoveProp, 2) +SVC_(UserResolveDesktop, 4) +SVC_(UserResolveDesktopForWOW, 1) +SVC_(UserSBGetParms, 4) +SVC_(UserScrollDC, 7) +SVC_(UserScrollWindowEx, 8) +SVC_(UserSelectPalette, 3) +SVC_(UserSendInput, 3) +SVC_(UserSetActiveWindow, 1) +SVC_(UserSetAppImeLevel, 2) +SVC_(UserSetCapture, 1) +SVC_(UserSetClassLong, 4) +SVC_(UserSetClassWord, 3) +SVC_(UserSetClipboardData, 3) +SVC_(UserSetClipboardViewer, 1) +SVC_(UserSetConsoleReserveKeys, 2) +SVC_(UserSetCursor, 1) +SVC_(UserSetCursorContents, 2) +#ifdef NEW_CURSORICON +SVC_(UserSetCursorIconData, 4) +#else +SVC_(UserSetCursorIconData, 6) +#endif +SVC_(UserSetDbgTag, 2) +SVC_(UserSetFocus, 1) +SVC_(UserSetImeHotKey, 5) +SVC_(UserSetImeInfoEx, 1) +SVC_(UserSetImeOwnerWindow, 2) +SVC_(UserSetInformationProcess, 4) +SVC_(UserSetInformationThread, 4) +SVC_(UserSetInternalWindowPos, 4) +SVC_(UserSetKeyboardState, 1) +SVC_(UserSetLogonNotifyWindow, 1) +SVC_(UserSetMenu, 3) +SVC_(UserSetMenuContextHelpId, 2) +SVC_(UserSetMenuDefaultItem, 3) +SVC_(UserSetMenuFlagRtoL, 1) +SVC_(UserSetObjectInformation, 4) +SVC_(UserSetParent, 2) +SVC_(UserSetProcessWindowStation, 1) +SVC_(UserSetProp, 3) +SVC_(UserSetRipFlags, 2) +SVC_(UserSetScrollInfo, 4) +SVC_(UserSetShellWindowEx, 2) +SVC_(UserSetSysColors, 4) +SVC_(UserSetSystemCursor, 2) +SVC_(UserSetSystemMenu, 2) +SVC_(UserSetSystemTimer, 4) +SVC_(UserSetThreadDesktop, 1) +SVC_(UserSetThreadLayoutHandles, 2) +SVC_(UserSetThreadState, 2) +SVC_(UserSetTimer, 4) +SVC_(UserSetWindowFNID, 2) +SVC_(UserSetWindowLong, 4) +SVC_(UserSetWindowPlacement, 2) +SVC_(UserSetWindowPos, 7) +SVC_(UserSetWindowRgn, 3) +SVC_(UserSetWindowsHookAW, 3) +SVC_(UserSetWindowsHookEx, 6) +SVC_(UserSetWindowStationUser, 4) +SVC_(UserSetWindowWord, 3) +SVC_(UserSetWinEventHook, 8) +SVC_(UserShowCaret, 1) +SVC_(UserShowScrollBar, 3) +SVC_(UserShowWindow, 2) +SVC_(UserShowWindowAsync, 2) +SVC_(UserSoundSentry, 0) +SVC_(UserSwitchDesktop, 1) +SVC_(UserSystemParametersInfo, 4) +SVC_(UserTestForInteractiveUser, 1) +SVC_(UserThunkedMenuInfo, 2) +SVC_(UserThunkedMenuItemInfo, 6) +SVC_(UserToUnicodeEx, 7) +SVC_(UserTrackMouseEvent, 1) +SVC_(UserTrackPopupMenuEx, 6) +SVC_(UserCalcMenuBar, 5) +SVC_(UserPaintMenuBar, 6) +SVC_(UserTranslateAccelerator, 3) +SVC_(UserTranslateMessage, 2) +SVC_(UserUnhookWindowsHookEx, 1) +SVC_(UserUnhookWinEvent, 1) +SVC_(UserUnloadKeyboardLayout, 1) +SVC_(UserUnlockWindowStation, 1) +SVC_(UserUnregisterClass, 3) +SVC_(UserUnregisterUserApiHook, 0) +SVC_(UserUnregisterHotKey, 2) +SVC_(UserUpdateInputContext, 3) +SVC_(UserUpdateInstance, 3) +SVC_(UserUpdateLayeredWindow, 10) /* FIXME: 9 params on XP */ +SVC_(UserGetLayeredWindowAttributes, 4) +SVC_(UserSetLayeredWindowAttributes, 4) +SVC_(UserUpdatePerUserSystemParameters, 2) +SVC_(UserUserHandleGrantAccess, 3) +SVC_(UserValidateHandleSecure, 2) +SVC_(UserValidateRect, 2) +SVC_(UserValidateTimerCallback, 3) +SVC_(UserVkKeyScanEx, 3) +SVC_(UserWaitForInputIdle, 3) +SVC_(UserWaitForMsgAndEvent, 1) +SVC_(UserWaitMessage, 0) +SVC_(UserWin32PoolAllocationStats, 6) +SVC_(UserWindowFromPhysicalPoint, 2) // Vista +SVC_(UserWindowFromPoint, 2) +SVC_(UserYieldTask, 0) +SVC_(UserRemoteConnect, 3) +SVC_(UserRemoteRedrawRectangle, 4) +SVC_(UserRemoteRedrawScreen, 0) +SVC_(UserRemoteStopScreenUpdates, 0) +SVC_(UserCtxDisplayIOCtl, 3) +SVC_(GdiEngAssociateSurface, 3) +SVC_(GdiEngCreateBitmap, 6) +SVC_(GdiEngCreateDeviceSurface, 4) +SVC_(GdiEngCreateDeviceBitmap, 4) +SVC_(GdiEngCreatePalette, 6) +SVC_(GdiEngComputeGlyphSet, 3) +SVC_(GdiEngCopyBits, 6) +SVC_(GdiEngDeletePalette, 1) +SVC_(GdiEngDeleteSurface, 1) +SVC_(GdiEngEraseSurface, 3) +SVC_(GdiEngUnlockSurface, 1) +SVC_(GdiEngLockSurface, 1) +SVC_(GdiEngBitBlt, 11) +SVC_(GdiEngStretchBlt, 11) +SVC_(GdiEngPlgBlt, 11) +SVC_(GdiEngMarkBandingSurface, 1) +SVC_(GdiEngStrokePath, 8) +SVC_(GdiEngFillPath, 7) +SVC_(GdiEngStrokeAndFillPath, 10) +SVC_(GdiEngPaint, 5) +SVC_(GdiEngLineTo, 9) +SVC_(GdiEngAlphaBlend, 7) +SVC_(GdiEngGradientFill, 10) +SVC_(GdiEngTransparentBlt, 8) +SVC_(GdiEngTextOut, 10) +SVC_(GdiEngStretchBltROP, 13) +SVC_(GdiXLATEOBJ_cGetPalette, 4) +SVC_(GdiXLATEOBJ_iXlate, 2) +SVC_(GdiXLATEOBJ_hGetColorTransform, 1) +SVC_(GdiCLIPOBJ_bEnum, 3) +SVC_(GdiCLIPOBJ_cEnumStart, 5) +SVC_(GdiCLIPOBJ_ppoGetPath, 1) +SVC_(GdiEngDeletePath, 1) +SVC_(GdiEngCreateClip, 0) +SVC_(GdiEngDeleteClip, 1) +SVC_(GdiBRUSHOBJ_ulGetBrushColor, 1) +SVC_(GdiBRUSHOBJ_pvAllocRbrush, 2) +SVC_(GdiBRUSHOBJ_pvGetRbrush, 1) +SVC_(GdiBRUSHOBJ_hGetColorTransform, 1) +SVC_(GdiXFORMOBJ_bApplyXform, 5) +SVC_(GdiXFORMOBJ_iGetXform, 2) +SVC_(GdiFONTOBJ_vGetInfo, 3) +SVC_(GdiFONTOBJ_pxoGetXform, 1) +SVC_(GdiFONTOBJ_cGetGlyphs, 5) +SVC_(GdiFONTOBJ_pifi, 1) +SVC_(GdiFONTOBJ_pfdg, 1) +SVC_(GdiFONTOBJ_pQueryGlyphAttrs, 2) +SVC_(GdiFONTOBJ_pvTrueTypeFontFile, 2) +SVC_(GdiFONTOBJ_cGetAllGlyphHandles, 2) +SVC_(GdiSTROBJ_bEnum, 3) +SVC_(GdiSTROBJ_bEnumPositionsOnly, 3) +SVC_(GdiSTROBJ_bGetAdvanceWidths, 4) +SVC_(GdiSTROBJ_vEnumStart, 1) +SVC_(GdiSTROBJ_dwGetCodePage, 1) +SVC_(GdiPATHOBJ_vGetBounds, 2) +SVC_(GdiPATHOBJ_bEnum, 2) +SVC_(GdiPATHOBJ_vEnumStart, 1) +SVC_(GdiPATHOBJ_vEnumStartClipLines, 4) +SVC_(GdiPATHOBJ_bEnumClipLines, 3) +SVC_(GdiGetDhpdev, 1) +SVC_(GdiEngCheckAbort, 1) +SVC_(GdiHT_Get8BPPFormatPalette, 4) +SVC_(GdiHT_Get8BPPMaskPalette, 6) +SVC_(GdiUpdateTransform, 1) +SVC_(GdiSetPUMPDOBJ, 4) +SVC_(GdiBRUSHOBJ_DeleteRbrush, 2) +SVC_(GdiUMPDEngFreeUserMem, 1) +SVC_(GdiDrawStream, 3) + + +// ReactOS, specific, syscalls) +SVC_(GdiSetViewportOrgEx, 4) +SVC_(GdiSetWindowOrgEx, 4) +SVC_(GdiGetFontFamilyInfo, 4) +SVC_(GdiOffsetViewportOrgEx, 4) +SVC_(GdiOffsetWindowOrgEx, 4) + +SVC_(UserBuildMenuItemList, 4) +SVC_(UserGetMenuDefaultItem, 3) +SVC_(UserGetMonitorInfo, 2) +SVC_(UserMenuInfo, 3) +SVC_(UserMenuItemInfo, 5) +SVC_(UserMonitorFromPoint, 3) +SVC_(UserMonitorFromRect, 2) +SVC_(UserMonitorFromWindow, 2) +SVC_(UserSetScrollBarInfo, 3) diff --git a/rostests/tests/dllexport/CMakeLists.txt b/rostests/tests/dllexport/CMakeLists.txt index 6e82a4394ab..14a23c997b2 100644 --- a/rostests/tests/dllexport/CMakeLists.txt +++ b/rostests/tests/dllexport/CMakeLists.txt @@ -2,18 +2,19 @@ spec2def(dllexport_test_dll1.dll dllexport_test_dll1.spec ADD_IMPORTLIB) spec2def(dllexport_test_dll2.dll dllexport_test_dll2.spec ADD_IMPORTLIB) +set(baseaddress_dllexport_test_dll1 0x1000000) add_library(dllexport_test_dll1 SHARED dllexport_test_dll1.c ${CMAKE_CURRENT_BINARY_DIR}/dllexport_test_dll1.def) set_module_type(dllexport_test_dll1 win32dll ENTRYPOINT 0) add_importlibs(dllexport_test_dll1 dllexport_test_dll2) +set(baseaddress_dllexport_test_dll2 0x2000000) add_library(dllexport_test_dll2 SHARED dllexport_test_dll2.c ${CMAKE_CURRENT_BINARY_DIR}/dllexport_test_dll2.def) set_module_type(dllexport_test_dll2 win32dll ENTRYPOINT 0) - add_executable(dllexport_test dllexport_test.c) diff --git a/rostests/winetests/winmm/CMakeLists.txt b/rostests/winetests/winmm/CMakeLists.txt index 4f6743c0279..914ee71e4ae 100644 --- a/rostests/winetests/winmm/CMakeLists.txt +++ b/rostests/winetests/winmm/CMakeLists.txt @@ -17,5 +17,5 @@ add_importlibs(winmm_winetest winmm user32 msvcrt kernel32 ntdll) add_cd_file(TARGET winmm_winetest DESTINATION reactos/bin FOR all) if(NOT MSVC) - add_target_compile_flags(winmm_winetest "-Wno-error=format -Wno-error=unused-but-set-variable") + add_target_compile_flags(winmm_winetest "-Wno-format -Wno-unused-but-set-variable") endif() From 9c9a481d33b4b6cbf181a6b02ba80f0b9c6a4423 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sat, 31 May 2014 16:08:41 +0000 Subject: [PATCH 012/120] [CRT] * Update scanf.h. CORE-8080 svn path=/trunk/; revision=63516 --- reactos/lib/sdk/crt/string/scanf.h | 140 +++++++++++++++++++++++++---- reactos/media/doc/README.WINE | 2 +- 2 files changed, 125 insertions(+), 17 deletions(-) diff --git a/reactos/lib/sdk/crt/string/scanf.h b/reactos/lib/sdk/crt/string/scanf.h index cb37ed9fee1..4a28c921c20 100644 --- a/reactos/lib/sdk/crt/string/scanf.h +++ b/reactos/lib/sdk/crt/string/scanf.h @@ -37,8 +37,8 @@ #define _CHAR_ char #define _EOF_ EOF #define _EOF_RET EOF -#define _ISSPACE_(c) isspace((unsigned char)(c)) -#define _ISDIGIT_(c) isdigit((unsigned char)(c)) +#define _ISSPACE_(c) isspace(c) +#define _ISDIGIT_(c) isdigit(c) #define _WIDE2SUPPORTED_(c) c /* FIXME: convert wide char to char */ #define _CHAR2SUPPORTED_(c) c /* No conversion needed (char to char) */ #define _CHAR2DIGIT_(c, base) char2digit((c), (base)) @@ -48,17 +48,48 @@ #ifdef CONSOLE #define _GETC_(file) (consumed++, _getch()) #define _UNGETC_(nch, file) do { _ungetch(nch); consumed--; } while(0) +#define _LOCK_FILE_(file) _lock_file(stdin) +#define _UNLOCK_FILE_(file) _unlock_file(stdin) +#ifdef WIDE_SCANF +#ifdef SECURE +#define _FUNCTION_ static int vcwscanf_s_l(const char *format, _locale_t locale, __ms_va_list ap) +#else /* SECURE */ +#define _FUNCTION_ static int vcwscanf_l(const char *format, _locale_t locale, __ms_va_list ap) +#endif /* SECURE */ +#else /* WIDE_SCANF */ #ifdef SECURE #define _FUNCTION_ static int vcscanf_s_l(const char *format, _locale_t locale, __ms_va_list ap) #else /* SECURE */ #define _FUNCTION_ static int vcscanf_l(const char *format, _locale_t locale, __ms_va_list ap) #endif /* SECURE */ +#endif /* WIDE_SCANF */ #else #ifdef STRING #undef _EOF_ #define _EOF_ 0 +#ifdef STRING_LEN +#define _GETC_(file) (consumed==length ? '\0' : (consumed++, *file++)) +#define _UNGETC_(nch, file) do { file--; consumed--; } while(0) +#define _LOCK_FILE_(file) do {} while(0) +#define _UNLOCK_FILE_(file) do {} while(0) +#ifdef WIDE_SCANF +#ifdef SECURE +#define _FUNCTION_ static int vsnwscanf_s_l(const wchar_t *file, size_t length, const wchar_t *format, _locale_t locale, __ms_va_list ap) +#else /* SECURE */ +#define _FUNCTION_ static int vsnwscanf_l(const wchar_t *file, size_t length, const wchar_t *format, _locale_t locale, __ms_va_list ap) +#endif /* SECURE */ +#else /* WIDE_SCANF */ +#ifdef SECURE +#define _FUNCTION_ static int vsnscanf_s_l(const char *file, size_t length, const char *format, _locale_t locale, __ms_va_list ap) +#else /* SECURE */ +#define _FUNCTION_ static int vsnscanf_l(const char *file, size_t length, const char *format, _locale_t locale, __ms_va_list ap) +#endif /* SECURE */ +#endif /* WIDE_SCANF */ +#else /* STRING_LEN */ #define _GETC_(file) (consumed++, *file++) #define _UNGETC_(nch, file) do { file--; consumed--; } while(0) +#define _LOCK_FILE_(file) do {} while(0) +#define _UNLOCK_FILE_(file) do {} while(0) #ifdef WIDE_SCANF #ifdef SECURE #define _FUNCTION_ static int vswscanf_s_l(const wchar_t *file, const wchar_t *format, _locale_t locale, __ms_va_list ap) @@ -72,10 +103,13 @@ #define _FUNCTION_ static int vsscanf_l(const char *file, const char *format, _locale_t locale, __ms_va_list ap) #endif /* SECURE */ #endif /* WIDE_SCANF */ +#endif /* STRING_LEN */ #else /* STRING */ #ifdef WIDE_SCANF #define _GETC_(file) (consumed++, fgetwc(file)) #define _UNGETC_(nch, file) do { ungetwc(nch, file); consumed--; } while(0) +#define _LOCK_FILE_(file) _lock_file(file) +#define _UNLOCK_FILE_(file) _unlock_file(file) #ifdef SECURE #define _FUNCTION_ static int vfwscanf_s_l(FILE* file, const wchar_t *format, _locale_t locale, __ms_va_list ap) #else /* SECURE */ @@ -84,6 +118,8 @@ #else /* WIDE_SCANF */ #define _GETC_(file) (consumed++, fgetc(file)) #define _UNGETC_(nch, file) do { ungetc(nch, file); consumed--; } while(0) +#define _LOCK_FILE_(file) _lock_file(file) +#define _UNLOCK_FILE_(file) _unlock_file(file) #ifdef SECURE #define _FUNCTION_ static int vfscanf_s_l(FILE* file, const char *format, _locale_t locale, __ms_va_list ap) #else /* SECURE */ @@ -103,15 +139,17 @@ _FUNCTION_ { TRACE("(%s):\n", debugstr_a(format)); #else /* CONSOLE */ #ifdef STRING - TRACE("%s (%s)\n", file, debugstr_a(format)); + TRACE("%s (%s)\n", debugstr_a(file), debugstr_a(format)); #else /* STRING */ TRACE("%p (%s)\n", file, debugstr_a(format)); #endif /* STRING */ #endif /* CONSOLE */ #endif /* WIDE_SCANF */ + _LOCK_FILE_(file); nch = _GETC_(file); if (nch == _EOF_) { + _UNLOCK_FILE_(file); return _EOF_RET; } @@ -205,7 +243,7 @@ _FUNCTION_ { base = 0; number: { /* read an integer */ - __int64 cur = 0; + ULONGLONG cur = 0; int negative = 0; int seendigit=0; /* skip initial whitespace */ @@ -259,7 +297,7 @@ _FUNCTION_ { if (!seendigit) break; /* not a valid number */ st = 1; if (!suppress) { -#define _SET_NUMBER_(type) *va_arg(ap, type*) = (type)(negative ? -cur : cur) +#define _SET_NUMBER_(type) *va_arg(ap, type*) = negative ? -cur : cur if (I64_prefix) _SET_NUMBER_(LONGLONG); else if (l_prefix) _SET_NUMBER_(LONG); else if (h_prefix == 1) _SET_NUMBER_(short int); @@ -421,12 +459,26 @@ _FUNCTION_ { #endif /* WIDE_SCANF */ charstring: { /* read a word into a char */ char *sptr = suppress ? NULL : va_arg(ap, char*); + char *sptr_beg = sptr; +#ifdef SECURE + unsigned size = suppress ? UINT_MAX : va_arg(ap, unsigned); +#else + unsigned size = UINT_MAX; +#endif /* skip initial whitespace */ while ((nch!=_EOF_) && _ISSPACE_(nch)) nch = _GETC_(file); /* read until whitespace */ while (width!=0 && (nch!=_EOF_) && !_ISSPACE_(nch)) { - if (!suppress) *sptr++ = _CHAR2SUPPORTED_(nch); + if (!suppress) { + *sptr++ = _CHAR2SUPPORTED_(nch); + if(size>1) size--; + else { + _UNLOCK_FILE_(file); + *sptr_beg = 0; + return rd; + } + } st++; nch = _GETC_(file); if (width>0) width--; @@ -437,12 +489,26 @@ _FUNCTION_ { break; widecharstring: { /* read a word into a wchar_t* */ wchar_t *sptr = suppress ? NULL : va_arg(ap, wchar_t*); + wchar_t *sptr_beg = sptr; +#ifdef SECURE + unsigned size = suppress ? UINT_MAX : va_arg(ap, unsigned); +#else + unsigned size = UINT_MAX; +#endif /* skip initial whitespace */ while ((nch!=_EOF_) && _ISSPACE_(nch)) nch = _GETC_(file); /* read until whitespace */ while (width!=0 && (nch!=_EOF_) && !_ISSPACE_(nch)) { - if (!suppress) *sptr++ = _WIDE2SUPPORTED_(nch); + if (!suppress) { + *sptr++ = _WIDE2SUPPORTED_(nch); + if(size>1) size--; + else { + _UNLOCK_FILE_(file); + *sptr_beg = 0; + return rd; + } + } st++; nch = _GETC_(file); if (width>0) width--; @@ -471,10 +537,24 @@ _FUNCTION_ { #endif /* WIDE_SCANF */ character: { /* read single character into char */ char *str = suppress ? NULL : va_arg(ap, char*); + char *pstr = str; +#ifdef SECURE + unsigned size = suppress ? UINT_MAX : va_arg(ap, unsigned)/sizeof(char); +#else + unsigned size = UINT_MAX; +#endif if (width == -1) width = 1; - while ((width != 0) && (nch != _EOF_)) + while (width && (nch != _EOF_)) { - if (!suppress) *str++ = _CHAR2SUPPORTED_(nch); + if (!suppress) { + *str++ = _CHAR2SUPPORTED_(nch); + if(size) size--; + else { + _UNLOCK_FILE_(file); + *pstr = 0; + return rd; + } + } st++; width--; nch = _GETC_(file); @@ -483,10 +563,24 @@ _FUNCTION_ { break; widecharacter: { /* read single character into a wchar_t */ wchar_t *str = suppress ? NULL : va_arg(ap, wchar_t*); + wchar_t *pstr = str; +#ifdef SECURE + unsigned size = suppress ? UINT_MAX : va_arg(ap, unsigned)/sizeof(wchar_t); +#else + unsigned size = UINT_MAX; +#endif if (width == -1) width = 1; - while ((width != 0) && (nch != _EOF_)) + while (width && (nch != _EOF_)) { - if (!suppress) *str++ = _WIDE2SUPPORTED_(nch); + if (!suppress) { + *str++ = _WIDE2SUPPORTED_(nch); + if(size) size--; + else { + _UNLOCK_FILE_(file); + *pstr = 0; + return rd; + } + } st++; width--; nch = _GETC_(file); @@ -519,10 +613,15 @@ _FUNCTION_ { RTL_BITMAP bitMask; ULONG *Mask; int invert = 0; /* Set if we are NOT to find the chars */ +#ifdef SECURE + unsigned size = suppress ? UINT_MAX : va_arg(ap, unsigned)/sizeof(_CHAR_); +#else + unsigned size = UINT_MAX; +#endif - /* Init our bitmap */ - Mask = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, _BITMAPSIZE_/8); - RtlInitializeBitMap(&bitMask, Mask, _BITMAPSIZE_); + /* Init our bitmap */ + Mask = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, _BITMAPSIZE_/8); + RtlInitializeBitMap(&bitMask, Mask, _BITMAPSIZE_); /* Read the format */ format++; @@ -541,7 +640,7 @@ _FUNCTION_ { if ((*(format - 1)) < *(format + 1)) RtlSetBits(&bitMask, *(format - 1) +1 , *(format + 1) - *(format - 1)); else - RtlSetBits(&bitMask, *(format + 1) , *(format - 1) - *(format + 1)); + RtlSetBits(&bitMask, *(format + 1) , *(format - 1) - *(format + 1)); format++; } else RtlSetBits(&bitMask, *format, 1); @@ -563,10 +662,16 @@ _FUNCTION_ { st++; nch = _GETC_(file); if (width>0) width--; + if(size>1) size--; + else { + _UNLOCK_FILE_(file); + *str = 0; + return rd; + } } /* terminate */ if (!suppress) *sptr = 0; - HeapFree(GetProcessHeap(), 0, Mask); + HeapFree(GetProcessHeap(), 0, Mask); } break; default: @@ -604,6 +709,7 @@ _FUNCTION_ { } TRACE("returning %d\n", rd); + _UNLOCK_FILE_(file); return rd; } @@ -617,5 +723,7 @@ _FUNCTION_ { #undef _CHAR2DIGIT_ #undef _GETC_ #undef _UNGETC_ +#undef _LOCK_FILE_ +#undef _UNLOCK_FILE_ #undef _FUNCTION_ #undef _BITMAPSIZE_ diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 781541477d4..fa5845e65e7 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -277,7 +277,7 @@ msvcrt - reactos/lib/sdk/crt/except/cpp.c # Synced at 20080528 reactos/lib/sdk/crt/except/cppexcept.c # Synced at 20071111 reactos/lib/sdk/crt/signal/xcptinfo.c # Synced to Wine-1.7.17 - reactos/lib/sdk/crt/string/scanf.c/h # Synced to Wine-1_1_27 + reactos/lib/sdk/crt/string/scanf.c/h # Synced to Wine-1.7.17 reactos/lib/sdk/crt/strings/wcs.c # Synced at 20080611 reactos/lib/sdk/crt/wine/heap.c # Synced at 20080529 reactos/lib/sdk/crt/wine/undname.c # Synced at 20081130 From 35767099ce7c7c6a58c19d780884da9f4920fa06 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 16:19:36 +0000 Subject: [PATCH 013/120] [BROWSEUI] Silence warnings about unused but set variables [MESA] Silence warnings about unused but set variables and type limits [GENINC] Remove obsolete file [OBJ2BIN] Fix a typo svn path=/trunk/; revision=63517 --- reactos/dll/opengl/mesa/main/CMakeLists.txt | 1 + reactos/dll/opengl/mesa/swrast/CMakeLists.txt | 4 + reactos/dll/win32/browseui/CMakeLists.txt | 4 + reactos/tools/geninc/data.c | 1567 ----------------- reactos/tools/obj2bin/obj2bin.c | 2 +- 5 files changed, 10 insertions(+), 1568 deletions(-) delete mode 100644 reactos/tools/geninc/data.c diff --git a/reactos/dll/opengl/mesa/main/CMakeLists.txt b/reactos/dll/opengl/mesa/main/CMakeLists.txt index 03a1029c31e..ecd653187f8 100644 --- a/reactos/dll/opengl/mesa/main/CMakeLists.txt +++ b/reactos/dll/opengl/mesa/main/CMakeLists.txt @@ -78,4 +78,5 @@ add_library(mesa_main STATIC ${SOURCE}) add_pch(mesa_main precomp.h SOURCE) if(NOT MSVC) allow_warnings(mesa_main) + add_target_compile_flags(mesa_main "-Wno-type-limits") endif() diff --git a/reactos/dll/opengl/mesa/swrast/CMakeLists.txt b/reactos/dll/opengl/mesa/swrast/CMakeLists.txt index f818adb5aad..bc78d599e76 100644 --- a/reactos/dll/opengl/mesa/swrast/CMakeLists.txt +++ b/reactos/dll/opengl/mesa/swrast/CMakeLists.txt @@ -32,3 +32,7 @@ add_pch(mesa_swrast precomp.h SOURCE) if(NOT MSVC) allow_warnings(mesa_swrast) endif() + +if(NOT MSVC) + add_target_compile_flags(mesa_swrast "-Wno-unused-variable") +endif() diff --git a/reactos/dll/win32/browseui/CMakeLists.txt b/reactos/dll/win32/browseui/CMakeLists.txt index b9966066e02..894ebda6413 100644 --- a/reactos/dll/win32/browseui/CMakeLists.txt +++ b/reactos/dll/win32/browseui/CMakeLists.txt @@ -58,3 +58,7 @@ add_importlibs(browseui add_pch(browseui precomp.h SOURCE) add_cd_file(TARGET browseui DESTINATION reactos/system32 FOR all) + +if(NOT MSVC) + add_target_compile_flags(browseui "-Wno-unused-but-set-variable") +endif() diff --git a/reactos/tools/geninc/data.c b/reactos/tools/geninc/data.c deleted file mode 100644 index b53807109d3..00000000000 --- a/reactos/tools/geninc/data.c +++ /dev/null @@ -1,1567 +0,0 @@ -#undef __MSVCRT__ -#include - -/* DDK/IFS/NDK Headers */ -#include -#include -#include -#include -#include -#include - -/* KD Support */ -#define NOEXTAPI -#include -#include -#include - -typedef struct -{ - UCHAR Type; - CHAR Name[60]; - ULONGLONG Value; -} ASMGENDATA; - -#define RAW(x) {0, #x, 0} -#define CONSTANT(name) {1, #name, name} -#define OFFSET(name, struct, member) {1, #name, FIELD_OFFSET(struct, member)} -#define RELOFFSET(name, struct, member, to) {1, #name, FIELD_OFFSET(struct, member) - FIELD_OFFSET(struct, to)} -#define SIZE(name, struct) {1, #name, sizeof(struct)} -#define HEADER(x) {2, x, 0} - -ASMGENDATA Table[] = -{ - -/* PORTABLE CONSTANTS ********************************************************/ - - HEADER("Pointer size"), - SIZE(SizeofPointer, PVOID), - - HEADER("Breakpoints"), - CONSTANT(BREAKPOINT_BREAK), - CONSTANT(BREAKPOINT_PRINT), - CONSTANT(BREAKPOINT_PROMPT), - CONSTANT(BREAKPOINT_LOAD_SYMBOLS), - CONSTANT(BREAKPOINT_UNLOAD_SYMBOLS), - CONSTANT(BREAKPOINT_COMMAND_STRING), - - HEADER("Context Frame Flags"), - CONSTANT(CONTEXT_FULL), - CONSTANT(CONTEXT_CONTROL), - CONSTANT(CONTEXT_INTEGER), - CONSTANT(CONTEXT_SEGMENTS), - CONSTANT(CONTEXT_FLOATING_POINT), - CONSTANT(CONTEXT_DEBUG_REGISTERS), - - HEADER("Exception flags"), - CONSTANT(EXCEPTION_NONCONTINUABLE), - CONSTANT(EXCEPTION_UNWINDING), - CONSTANT(EXCEPTION_EXIT_UNWIND), - CONSTANT(EXCEPTION_STACK_INVALID), - CONSTANT(EXCEPTION_NESTED_CALL), - CONSTANT(EXCEPTION_TARGET_UNWIND), - CONSTANT(EXCEPTION_COLLIDED_UNWIND), - CONSTANT(EXCEPTION_UNWIND), - CONSTANT(EXCEPTION_EXECUTE_HANDLER), - CONSTANT(EXCEPTION_CONTINUE_SEARCH), - CONSTANT(EXCEPTION_CONTINUE_EXECUTION), -#ifdef _X86_ - //CONSTANT(EXCEPTION_CHAIN_END), - //CONSTANT(FIXED_NTVDMSTATE_LINEAR), -#endif - - HEADER("Exception types"), - CONSTANT(ExceptionContinueExecution), - CONSTANT(ExceptionContinueSearch), - CONSTANT(ExceptionNestedException), - CONSTANT(ExceptionCollidedUnwind), - - HEADER("Lock Queue"), - CONSTANT(LOCK_QUEUE_WAIT), - CONSTANT(LOCK_QUEUE_OWNER), - CONSTANT(LockQueueDispatcherLock), - - HEADER("Performance Definitions"), -// CONSTANT(PERF_CONTEXTSWAP_OFFSET), -// CONSTANT(PERF_CONTEXTSWAP_FLAG), -// CONSTANT(PERF_INTERRUPT_OFFSET), -// CONSTANT(PERF_INTERRUPT_FLAG), -// CONSTANT(PERF_PROFILE_OFFSET), -// CONSTANT(PERF_PROFILE_FLAG), -// CONSTANT(PERF_SYSCALL_OFFSET), -// CONSTANT(PERF_SYSCALL_FLAG), -// CONSTANT(PERF_SPINLOCK_OFFSET), -// CONSTANT(PERF_SPINLOCK_FLAG), -// CONSTANT(NTOS_YIELD_MACRO), - - HEADER("Process states"), - CONSTANT(ProcessInMemory), - CONSTANT(ProcessOutOfMemory), - CONSTANT(ProcessInTransition), - - HEADER("Processor mode"), - CONSTANT(KernelMode), - CONSTANT(UserMode), - - HEADER("Status codes"), - CONSTANT(STATUS_ACCESS_VIOLATION), - CONSTANT(STATUS_ASSERTION_FAILURE), - CONSTANT(STATUS_ARRAY_BOUNDS_EXCEEDED), - CONSTANT(STATUS_BAD_COMPRESSION_BUFFER), - CONSTANT(STATUS_BREAKPOINT), - CONSTANT(STATUS_CALLBACK_POP_STACK), - CONSTANT(STATUS_DATATYPE_MISALIGNMENT), - CONSTANT(STATUS_FLOAT_DENORMAL_OPERAND), - CONSTANT(STATUS_FLOAT_DIVIDE_BY_ZERO), - CONSTANT(STATUS_FLOAT_INEXACT_RESULT), - CONSTANT(STATUS_FLOAT_INVALID_OPERATION), - CONSTANT(STATUS_FLOAT_OVERFLOW), - CONSTANT(STATUS_FLOAT_STACK_CHECK), - CONSTANT(STATUS_FLOAT_UNDERFLOW), - CONSTANT(STATUS_FLOAT_MULTIPLE_FAULTS), - CONSTANT(STATUS_FLOAT_MULTIPLE_TRAPS), - CONSTANT(STATUS_GUARD_PAGE_VIOLATION), - CONSTANT(STATUS_ILLEGAL_FLOAT_CONTEXT), - CONSTANT(STATUS_ILLEGAL_INSTRUCTION), - CONSTANT(STATUS_INSTRUCTION_MISALIGNMENT), - CONSTANT(STATUS_INVALID_HANDLE), - CONSTANT(STATUS_INVALID_LOCK_SEQUENCE), - CONSTANT(STATUS_INVALID_OWNER), - CONSTANT(STATUS_INVALID_PARAMETER), - CONSTANT(STATUS_INVALID_PARAMETER_1), - CONSTANT(STATUS_INVALID_SYSTEM_SERVICE), -// CONSTANT(STATUS_INVALID_THREAD), - CONSTANT(STATUS_INTEGER_DIVIDE_BY_ZERO), - CONSTANT(STATUS_INTEGER_OVERFLOW), - CONSTANT(STATUS_IN_PAGE_ERROR), - CONSTANT(STATUS_KERNEL_APC), - CONSTANT(STATUS_LONGJUMP), - CONSTANT(STATUS_NO_CALLBACK_ACTIVE), - CONSTANT(STATUS_NO_EVENT_PAIR), - CONSTANT(STATUS_PRIVILEGED_INSTRUCTION), - CONSTANT(STATUS_SINGLE_STEP), - CONSTANT(STATUS_STACK_BUFFER_OVERRUN), - CONSTANT(STATUS_STACK_OVERFLOW), - CONSTANT(STATUS_SUCCESS), - CONSTANT(STATUS_THREAD_IS_TERMINATING), - CONSTANT(STATUS_TIMEOUT), - CONSTANT(STATUS_UNWIND), - CONSTANT(STATUS_UNWIND_CONSOLIDATE), - CONSTANT(STATUS_USER_APC), - CONSTANT(STATUS_WAKE_SYSTEM_DEBUGGER), - - HEADER("TLS defines"), - CONSTANT(TLS_MINIMUM_AVAILABLE), - CONSTANT(TLS_EXPANSION_SLOTS), - - HEADER("Thread states"), - CONSTANT(Initialized), - CONSTANT(Ready), - CONSTANT(Running), - CONSTANT(Standby), - CONSTANT(Terminated), - CONSTANT(Waiting), - - HEADER("Wait type / reason"), - CONSTANT(WrExecutive), - CONSTANT(WrMutex), - CONSTANT(WrDispatchInt), - CONSTANT(WrQuantumEnd), - CONSTANT(WrEventPair), - CONSTANT(WaitAny), - CONSTANT(WaitAll), - - HEADER("Interrupt object types"), -// CONSTANT(InLevelSensitive), -// CONSTANT(InLatched), - - HEADER("Bug Check Codes"), - CONSTANT(APC_INDEX_MISMATCH), - CONSTANT(INVALID_AFFINITY_SET), - CONSTANT(INVALID_DATA_ACCESS_TRAP), - CONSTANT(IRQL_NOT_GREATER_OR_EQUAL), - CONSTANT(IRQL_NOT_LESS_OR_EQUAL), - CONSTANT(NO_USER_MODE_CONTEXT), - CONSTANT(SPIN_LOCK_ALREADY_OWNED), - CONSTANT(SPIN_LOCK_NOT_OWNED), - CONSTANT(THREAD_NOT_MUTEX_OWNER), - CONSTANT(TRAP_CAUSE_UNKNOWN), - CONSTANT(KMODE_EXCEPTION_NOT_HANDLED), - CONSTANT(KERNEL_APC_PENDING_DURING_EXIT), - CONSTANT(PANIC_STACK_SWITCH), - CONSTANT(DATA_BUS_ERROR), - CONSTANT(INSTRUCTION_BUS_ERROR), - CONSTANT(SYSTEM_EXIT_OWNED_MUTEX), -// CONSTANT(SYSTEM_UNWIND_PREVIOUS_USER), -// CONSTANT(SYSTEM_SERVICE_EXCEPTION), -// CONSTANT(INTERRUPT_UNWIND_ATTEMPTED), -// CONSTANT(INTERRUPT_EXCEPTION_NOT_HANDLED), - CONSTANT(PAGE_FAULT_WITH_INTERRUPTS_OFF), - CONSTANT(IRQL_GT_ZERO_AT_SYSTEM_SERVICE), - CONSTANT(DATA_COHERENCY_EXCEPTION), - CONSTANT(INSTRUCTION_COHERENCY_EXCEPTION), - CONSTANT(HAL1_INITIALIZATION_FAILED), - CONSTANT(UNEXPECTED_KERNEL_MODE_TRAP), - CONSTANT(NMI_HARDWARE_FAILURE), - CONSTANT(SPIN_LOCK_INIT_FAILURE), - CONSTANT(ATTEMPTED_SWITCH_FROM_DPC), -// CONSTANT(MUTEX_ALREADY_OWNED), -// CONSTANT(HARDWARE_INTERRUPT_STORM), -// CONSTANT(RECURSIVE_MACHINE_CHECK), -// CONSTANT(RECURSIVE_NMI), - - HEADER("IRQL"), - CONSTANT(PASSIVE_LEVEL), - CONSTANT(APC_LEVEL), - CONSTANT(DISPATCH_LEVEL), -#ifdef _M_AMD64 - CONSTANT(CLOCK_LEVEL), -#else - CONSTANT(CLOCK1_LEVEL), - CONSTANT(CLOCK2_LEVEL), -#endif - CONSTANT(IPI_LEVEL), - CONSTANT(POWER_LEVEL), - CONSTANT(PROFILE_LEVEL), - CONSTANT(HIGH_LEVEL), - RAW("#ifdef NT_UP"), - {1, "SYNCH_LEVEL", DISPATCH_LEVEL}, - RAW("#else"), - {1, "SYNCH_LEVEL", (IPI_LEVEL - 2)}, - RAW("#endif"), - - HEADER("Stack sizes"), - CONSTANT(KERNEL_STACK_SIZE), - CONSTANT(KERNEL_LARGE_STACK_SIZE), - CONSTANT(KERNEL_LARGE_STACK_COMMIT), -// CONSTANT(DOUBLE_FAULT_STACK_SIZE), -#ifdef _M_AMD64 - CONSTANT(KERNEL_MCA_EXCEPTION_STACK_SIZE), - CONSTANT(NMI_STACK_SIZE), -#endif - - HEADER("Thread flags"), -// CONSTANT(THREAD_FLAGS_CYCLE_PROFILING), -// CONSTANT(THREAD_FLAGS_CYCLE_PROFILING_LOCK_BIT), -// CONSTANT(THREAD_FLAGS_CYCLE_PROFILING_LOCK), -// CONSTANT(THREAD_FLAGS_COUNTER_PROFILING), -// CONSTANT(THREAD_FLAGS_COUNTER_PROFILING_LOCK_BIT), -// CONSTANT(THREAD_FLAGS_COUNTER_PROFILING_LOCK), -// CONSTANT(THREAD_FLAGS_CPU_THROTTLED), -// CONSTANT(THREAD_FLAGS_CPU_THROTTLED_BIT), -// CONSTANT(THREAD_FLAGS_ACCOUNTING_ANY), - - HEADER("Miscellaneous Definitions"), -// CONSTANT(BASE_PRIORITY_THRESHOLD), -// CONSTANT(EVENT_PAIR_INCREMENT), - CONSTANT(LOW_REALTIME_PRIORITY), - CONSTANT(CLOCK_QUANTUM_DECREMENT), -// CONSTANT(READY_SKIP_QUANTUM), -// CONSTANT(THREAD_QUANTUM), - CONSTANT(WAIT_QUANTUM_DECREMENT), -// CONSTANT(ROUND_TRIP_DECREMENT_COUNT), - CONSTANT(MAXIMUM_PROCESSORS), - CONSTANT(INITIAL_STALL_COUNT), - CONSTANT(EXCEPTION_EXECUTE_FAULT), -// CONSTANT(KCACHE_ERRATA_MONITOR_FLAGS), -// CONSTANT(KI_EXCEPTION_GP_FAULT), -// CONSTANT(KI_EXCEPTION_INVALID_OP), -// CONSTANT(KI_EXCEPTION_INTEGER_DIVIDE_BY_ZERO), - CONSTANT(KI_EXCEPTION_ACCESS_VIOLATION), -// CONSTANT(TARGET_FREEZE), -// CONSTANT(BlackHole), - CONSTANT(Executive), - CONSTANT(FALSE), - CONSTANT(TRUE), - CONSTANT(DBG_STATUS_CONTROL_C), - CONSTANT(USER_SHARED_DATA), -// CONSTANT(MM_SHARED_USER_DATA_VA), - CONSTANT(PAGE_SIZE), -// CONSTANT(KERNEL_STACK_CONTROL_LARGE_STACK), -// CONSTANT(KI_DPC_ALL_FLAGS), -// CONSTANT(DISPATCH_LENGTH), - CONSTANT(MAXIMUM_IDTVECTOR), -// CONSTANT(MAXIMUM_PRIMARY_VECTOR), - CONSTANT(PRIMARY_VECTOR_BASE), - CONSTANT(RPL_MASK), - CONSTANT(MODE_MASK), -// CONSTANT(KTHREAD_AUTO_ALIGNMENT_BIT), -// CONSTANT(KTHREAD_GUI_THREAD_MASK), -// CONSTANT(KI_SLIST_FAULT_COUNT_MAXIMUM), - CONSTANT(NUMBER_SERVICE_TABLES), - CONSTANT(SERVICE_NUMBER_MASK), - CONSTANT(SERVICE_TABLE_SHIFT), - CONSTANT(SERVICE_TABLE_MASK), - CONSTANT(SERVICE_TABLE_TEST), - -/* ARCHITECTURE SPECIFIC CONTSTANTS ******************************************/ - -#if defined(_M_AMD64) || defined(_M_IX86) - - HEADER("CR0 flags"), - CONSTANT(CR0_PE), - CONSTANT(CR0_MP), - CONSTANT(CR0_EM), - CONSTANT(CR0_TS), - CONSTANT(CR0_ET), - CONSTANT(CR0_NE), - CONSTANT(CR0_WP), - CONSTANT(CR0_AM), - CONSTANT(CR0_NW), - CONSTANT(CR0_CD), - CONSTANT(CR0_PG), - - HEADER("CR4 flags"), - CONSTANT(CR4_VME), - CONSTANT(CR4_PVI), - CONSTANT(CR4_TSD), - CONSTANT(CR4_DE), - CONSTANT(CR4_PSE), - CONSTANT(CR4_PAE), - CONSTANT(CR4_MCE), - CONSTANT(CR4_PGE), - CONSTANT(CR4_FXSR), - CONSTANT(CR4_XMMEXCPT), -#if defined(_M_IX86) -// CONSTANT(CR4_PGE_V), -// CONSTANT(CR4_XSAVE), -#elif defined(_M_AMD64) - CONSTANT(CR4_CHANNELS), -#endif - - HEADER("KeFeatureBits flags"), - CONSTANT(KF_RDTSC), - CONSTANT(KF_CR4), - CONSTANT(KF_GLOBAL_PAGE), - CONSTANT(KF_LARGE_PAGE), - CONSTANT(KF_CMPXCHG8B), - CONSTANT(KF_FAST_SYSCALL), -#ifdef _M_IX86 - CONSTANT(KF_V86_VIS), -// CONSTANT(KF_XSTATE), -#endif - - HEADER("Machine type definitions"), - CONSTANT(MACHINE_TYPE_ISA), - CONSTANT(MACHINE_TYPE_EISA), - CONSTANT(MACHINE_TYPE_MCA), - -#endif - -#ifdef _M_IX86 - - HEADER("EFLAGS"), - CONSTANT(EFLAGS_TF), - CONSTANT(EFLAGS_INTERRUPT_MASK), - CONSTANT(EFLAGS_V86_MASK), - CONSTANT(EFLAGS_ALIGN_CHECK), - CONSTANT(EFLAGS_VIF), - CONSTANT(EFLAGS_VIP), - CONSTANT(EFLAGS_USER_SANITIZE), - - HEADER("KDGT selectors"), - CONSTANT(KGDT_R3_DATA), - CONSTANT(KGDT_R3_CODE), - CONSTANT(KGDT_R0_CODE), - CONSTANT(KGDT_R0_DATA), - CONSTANT(KGDT_R0_PCR), -// CONSTANT(KGDT_STACK16), -// CONSTANT(KGDT_CODE16), - CONSTANT(KGDT_TSS), - CONSTANT(KGDT_R3_TEB), - CONSTANT(KGDT_DF_TSS), - CONSTANT(KGDT_NMI_TSS), - CONSTANT(KGDT_LDT), - - CONSTANT(NPX_STATE_NOT_LOADED), - CONSTANT(NPX_STATE_LOADED), -// CONSTANT(NPX_MASK_LAZY), - -/* - HEADER("VDM constants"), - CONSTANT(VDM_INDEX_Invalid), - CONSTANT(VDM_INDEX_0F), - CONSTANT(VDM_INDEX_ESPrefix), - CONSTANT(VDM_INDEX_CSPrefix), - CONSTANT(VDM_INDEX_SSPrefix), - CONSTANT(VDM_INDEX_DSPrefix), - CONSTANT(VDM_INDEX_FSPrefix), - CONSTANT(VDM_INDEX_GSPrefix), - CONSTANT(VDM_INDEX_OPER32Prefix), - CONSTANT(VDM_INDEX_ADDR32Prefix), - CONSTANT(VDM_INDEX_INSB), - CONSTANT(VDM_INDEX_INSW), - CONSTANT(VDM_INDEX_OUTSB), - CONSTANT(VDM_INDEX_OUTSW), - CONSTANT(VDM_INDEX_PUSHF), - CONSTANT(VDM_INDEX_POPF), - CONSTANT(VDM_INDEX_INTnn), - CONSTANT(VDM_INDEX_INTO), - CONSTANT(VDM_INDEX_IRET), - CONSTANT(VDM_INDEX_NPX), - CONSTANT(VDM_INDEX_INBimm), - CONSTANT(VDM_INDEX_INWimm), - CONSTANT(VDM_INDEX_OUTBimm), - CONSTANT(VDM_INDEX_OUTWimm), - CONSTANT(VDM_INDEX_INB), - CONSTANT(VDM_INDEX_INW), - CONSTANT(VDM_INDEX_OUTB), - CONSTANT(VDM_INDEX_OUTW), - CONSTANT(VDM_INDEX_LOCKPrefix), - CONSTANT(VDM_INDEX_REPNEPrefix), - CONSTANT(VDM_INDEX_REPPrefix), - CONSTANT(VDM_INDEX_CLI), - CONSTANT(VDM_INDEX_STI), - CONSTANT(VDM_INDEX_HLT), - CONSTANT(MAX_VDM_INDEX), -*/ - CONSTANT(PF_XMMI_INSTRUCTIONS_AVAILABLE), - CONSTANT(EFLAG_SELECT), -// CONSTANT(IPI_FREEZE), -// CONSTANT(XSAVE_PRESENT), - -#elif defined(_M_AMD64) - - HEADER("EFLAGS"), - CONSTANT(EFLAGS_TF_MASK), - CONSTANT(EFLAGS_TF_SHIFT), - CONSTANT(EFLAGS_IF_MASK), - CONSTANT(EFLAGS_IF_SHIFT), - CONSTANT(EFLAGS_ID_MASK), - - HEADER("Hypervisor Enlightenment Definitions"), - CONSTANT(HV_MMU_USE_HYPERCALL_FOR_ADDRESS_SWITCH), - CONSTANT(HV_MMU_USE_HYPERCALL_FOR_LOCAL_FLUSH), - CONSTANT(HV_MMU_USE_HYPERCALL_FOR_REMOTE_FLUSH), - CONSTANT(HV_X64_MSR_APIC_EOI), - CONSTANT(HV_APIC_ENLIGHTENED), - CONSTANT(HV_KE_USE_HYPERCALL_FOR_LONG_SPIN_WAIT), - CONSTANT(HV_VIRTUAL_APIC_NO_EOI_REQUIRED_V), - CONSTANT(HvApicFlags), - - HEADER("KDGT selectors"), - CONSTANT(KGDT64_NULL), - CONSTANT(KGDT64_R0_CODE), - CONSTANT(KGDT64_R0_DATA), - CONSTANT(KGDT64_R3_CMCODE), - CONSTANT(KGDT64_R3_DATA), - CONSTANT(KGDT64_R3_CODE), - CONSTANT(KGDT64_SYS_TSS), - CONSTANT(KGDT64_R3_CMTEB), - - HEADER("Machine Specific Register Numbers"), - CONSTANT(MSR_EFER), - CONSTANT(MSR_STAR), - CONSTANT(MSR_LSTAR), - CONSTANT(MSR_CSTAR), - CONSTANT(MSR_SYSCALL_MASK), - CONSTANT(MSR_FS_BASE), - CONSTANT(MSR_GS_BASE), - CONSTANT(MSR_GS_SWAP), - CONSTANT(MSR_MCG_STATUS), - CONSTANT(MSR_AMD_ACCESS), - - HEADER("Flags for MSR_EFER"), - CONSTANT(MSR_LMA), - CONSTANT(MSR_LME), - CONSTANT(MSR_SCE), - CONSTANT(MSR_NXE), - CONSTANT(MSR_PAT), - CONSTANT(MSR_DEGUG_CTL), - CONSTANT(MSR_LAST_BRANCH_FROM), - CONSTANT(MSR_LAST_BRANCH_TO), - CONSTANT(MSR_LAST_EXCEPTION_FROM), - CONSTANT(MSR_LAST_EXCEPTION_TO), - - HEADER("Flags for MSR_DEGUG_CTL"), - CONSTANT(MSR_DEBUG_CTL_LBR), - CONSTANT(MSR_DEBUG_CRL_BTF), - -#endif - -#if 0 - HEADER("Fatal exception codes"), - CONSTANT(EXCEPTION_DIVIDED_BY_ZERO), - CONSTANT(EXCEPTION_DEBUG), - CONSTANT(EXCEPTION_NMI), - CONSTANT(EXCEPTION_INT3), - CONSTANT(EXCEPTION_BOUND_CHECK), - CONSTANT(EXCEPTION_INVALID_OPCODE), - CONSTANT(EXCEPTION_NPX_NOT_AVAILABLE), - CONSTANT(EXCEPTION_DOUBLE_FAULT), - CONSTANT(EXCEPTION_NPX_OVERRUN), - CONSTANT(EXCEPTION_INVALID_TSS), - CONSTANT(EXCEPTION_SEGMENT_NOT_PRESENT), - CONSTANT(EXCEPTION_STACK_FAULT), - CONSTANT(EXCEPTION_GP_FAULT), - CONSTANT(EXCEPTION_RESERVED_TRAP), - CONSTANT(EXCEPTION_NPX_ERROR), - CONSTANT(EXCEPTION_ALIGNMENT_CHECK), -#endif - - -/* STRUCTURE OFFSETS *********************************************************/ - - HEADER("KAFFINITY_EX"), -// OFFSET(AfBitmap, KAFFINITY_EX, Bitmap), - - HEADER("Aligned Affinity"), -// OFFSET(AfsCpuSet, ???, CpuSet), - - HEADER("KAPC"), - OFFSET(ApType, KAPC, Type), - OFFSET(ApSize, KAPC, Size), - OFFSET(ApThread, KAPC, Thread), - OFFSET(ApApcListEntry, KAPC, ApcListEntry), - OFFSET(ApKernelRoutine, KAPC, KernelRoutine), - OFFSET(ApRundownRoutine, KAPC, RundownRoutine), - OFFSET(ApNormalRoutine, KAPC, NormalRoutine), - OFFSET(ApNormalContext, KAPC, NormalContext), - OFFSET(ApSystemArgument1, KAPC, SystemArgument1), - OFFSET(ApSystemArgument2, KAPC, SystemArgument2), - OFFSET(ApApcStateIndex, KAPC, ApcStateIndex), - OFFSET(ApApcMode, KAPC, ApcMode), - OFFSET(ApInserted, KAPC, Inserted), - SIZE(ApcObjectLength, KAPC), - - HEADER("KAPC_STATE"), - OFFSET(AsApcListHead, KAPC_STATE, ApcListHead), - OFFSET(AsProcess, KAPC_STATE, Process), - OFFSET(AsKernelApcInProgress, KAPC_STATE, KernelApcInProgress), - OFFSET(AsKernelApcPending, KAPC_STATE, KernelApcPending), - OFFSET(AsUserApcPending, KAPC_STATE, UserApcPending), - - HEADER("CLIENT_ID"), - OFFSET(CidUniqueProcess, CLIENT_ID, UniqueProcess), - OFFSET(CidUniqueThread, CLIENT_ID, UniqueThread), - - HEADER("RTL_CRITICAL_SECTION"), - OFFSET(CsDebugInfo, RTL_CRITICAL_SECTION, DebugInfo), - OFFSET(CsLockCount, RTL_CRITICAL_SECTION, LockCount), - OFFSET(CsRecursionCount, RTL_CRITICAL_SECTION, RecursionCount), - OFFSET(CsOwningThread, RTL_CRITICAL_SECTION, OwningThread), - OFFSET(CsLockSemaphore, RTL_CRITICAL_SECTION, LockSemaphore), - OFFSET(CsSpinCount, RTL_CRITICAL_SECTION, SpinCount), - - HEADER("RTL_CRITICAL_SECTION_DEBUG"), - OFFSET(CsType, RTL_CRITICAL_SECTION_DEBUG, Type), - OFFSET(CsCreatorBackTraceIndex, RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex), - OFFSET(CsCriticalSection, RTL_CRITICAL_SECTION_DEBUG, CriticalSection), - OFFSET(CsProcessLocksList, RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList), - OFFSET(CsEntryCount, RTL_CRITICAL_SECTION_DEBUG, EntryCount), - OFFSET(CsContentionCount, RTL_CRITICAL_SECTION_DEBUG, ContentionCount), - - HEADER("KDEVICE_QUEUE_ENTRY"), - OFFSET(DeDeviceListEntry, KDEVICE_QUEUE_ENTRY, DeviceListEntry), - OFFSET(DeSortKey, KDEVICE_QUEUE_ENTRY, SortKey), - OFFSET(DeInserted, KDEVICE_QUEUE_ENTRY, Inserted), - SIZE(DeviceQueueEntryLength, KDEVICE_QUEUE_ENTRY), - - HEADER("KDPC"), - OFFSET(DpType, KDPC, Type), - OFFSET(DpImportance, KDPC, Importance), - OFFSET(DpNumber, KDPC, Number), - OFFSET(DpDpcListEntry, KDPC, DpcListEntry), - OFFSET(DpDeferredRoutine, KDPC, DeferredRoutine), - OFFSET(DpDeferredContext, KDPC, DeferredContext), - OFFSET(DpSystemArgument1, KDPC, SystemArgument1), - OFFSET(DpSystemArgument2, KDPC, SystemArgument2), - OFFSET(DpDpcData, KDPC, DpcData), - SIZE(DpcObjectLength, KDPC), - - HEADER("KDEVICE_QUEUE"), - OFFSET(DvType, KDEVICE_QUEUE, Type), - OFFSET(DvSize, KDEVICE_QUEUE, Size), - OFFSET(DvDeviceListHead, KDEVICE_QUEUE, DeviceListHead), - OFFSET(DvSpinLock, KDEVICE_QUEUE, Lock), - OFFSET(DvBusy, KDEVICE_QUEUE, Busy), - SIZE(DeviceQueueObjectLength, KDEVICE_QUEUE), - - HEADER("EXCEPTION_RECORD"), - OFFSET(ErExceptionCode, EXCEPTION_RECORD, ExceptionCode), - OFFSET(ErExceptionFlags, EXCEPTION_RECORD, ExceptionFlags), - OFFSET(ErExceptionRecord, EXCEPTION_RECORD, ExceptionRecord), - OFFSET(ErExceptionAddress, EXCEPTION_RECORD, ExceptionAddress), - OFFSET(ErNumberParameters, EXCEPTION_RECORD, NumberParameters), - OFFSET(ErExceptionInformation, EXCEPTION_RECORD, ExceptionInformation), - SIZE(ExceptionRecordLength, EXCEPTION_RECORD), - SIZE(EXCEPTION_RECORD_LENGTH, EXCEPTION_RECORD), - - HEADER("EPROCESS"), - OFFSET(EpDebugPort, EPROCESS, DebugPort), - OFFSET(EpVdmObjects, EPROCESS, VdmObjects), - SIZE(ExecutiveProcessObjectLength, EPROCESS), - - HEADER("KEVENT"), - OFFSET(EvType, KEVENT, Header.Type), - OFFSET(EvSize, KEVENT, Header.Size), - OFFSET(EvSignalState, KEVENT, Header.SignalState), - OFFSET(EvWaitListHead, KEVENT, Header.WaitListHead), - SIZE(EventObjectLength, KEVENT), - - HEADER("FAST_MUTEX"), - OFFSET(FmCount, FAST_MUTEX, Count), - OFFSET(FmOwner, FAST_MUTEX, Owner), - OFFSET(FmContention, FAST_MUTEX, Contention), - OFFSET(FmGate, FAST_MUTEX, Gate), - OFFSET(FmOldIrql, FAST_MUTEX, OldIrql), - - HEADER("KINTERRUPT"), - OFFSET(InType, KINTERRUPT, Type), - OFFSET(InSize, KINTERRUPT, Size), - OFFSET(InInterruptListEntry, KINTERRUPT, InterruptListEntry), - OFFSET(InServiceRoutine, KINTERRUPT, ServiceRoutine), - OFFSET(InServiceContext, KINTERRUPT, ServiceContext), - OFFSET(InSpinLock, KINTERRUPT, SpinLock), - OFFSET(InTickCount, KINTERRUPT, TickCount), - OFFSET(InActualLock, KINTERRUPT, ActualLock), - OFFSET(InDispatchAddress, KINTERRUPT, DispatchAddress), - OFFSET(InVector, KINTERRUPT, Vector), - OFFSET(InIrql, KINTERRUPT, Irql), - OFFSET(InSynchronizeIrql, KINTERRUPT, SynchronizeIrql), - OFFSET(InFloatingSave, KINTERRUPT, FloatingSave), - OFFSET(InConnected, KINTERRUPT, Connected), - OFFSET(InNumber, KINTERRUPT, Number), - OFFSET(InShareVector, KINTERRUPT, ShareVector), - OFFSET(InMode, KINTERRUPT, Mode), - OFFSET(InServiceCount, KINTERRUPT, ServiceCount), - OFFSET(InDispatchCount, KINTERRUPT, DispatchCount), -// OFFSET(InTrapFrame, KINTERRUPT, TrapFrame), - OFFSET(InDispatchCode, KINTERRUPT, DispatchCode), - SIZE(InterruptObjectLength, KINTERRUPT), - - HEADER("IO_STATUS_BLOCK"), - OFFSET(IoStatus, IO_STATUS_BLOCK, Status), - OFFSET(IoPointer, IO_STATUS_BLOCK, Pointer), - OFFSET(IoInformation, IO_STATUS_BLOCK, Information), - -#ifdef _M_IX86 -// Kernel Stack Control Structure Offset (relative to initial stack pointer) Definitions -// RELOFFSET(KcPreviousBase, KERNEL_STACK_CONTROL, PreviousBase, ???), -// RELOFFSET(KcPreviousLimit, KERNEL_STACK_CONTROL, PreviousBase, ???), -// RELOFFSET(KcPreviousKernel, KERNEL_STACK_CONTROL, PreviousBase, ???), -// RELOFFSET(KcPreviousInitial, KERNEL_STACK_CONTROL, PreviousBase, ???), -#else - HEADER("KERNEL_STACK_CONTROL"), -// OFFSET(KcPreviousBase, KERNEL_STACK_CONTROL, PreviousBase), -// OFFSET(KcPreviousLimit, KERNEL_STACK_CONTROL, PreviousLimit), -// OFFSET(KcPreviousKernel, KERNEL_STACK_CONTROL, PreviousKernel), -// OFFSET(KcPreviousInitial, KERNEL_STACK_CONTROL, PreviousInitial), -// SIZE(KERNEL_STACK_CONTROL_LENGTH, KERNEL_STACK_CONTROL), -#endif - - HEADER("KNODE"), -// OFFSET(KnRight, KNODE, Right), -// OFFSET(KnLeft, KNODE, Left), - OFFSET(KnPfnDereferenceSListHead, KNODE, PfnDereferenceSListHead), - OFFSET(KnProcessorMask, KNODE, ProcessorMask), - OFFSET(KnColor, KNODE, Color), - OFFSET(KnSeed, KNODE, Seed), - OFFSET(KnNodeNumber, KNODE, NodeNumber), - OFFSET(KnFlags, KNODE, Flags), - OFFSET(knMmShiftedColor, KNODE, MmShiftedColor), - OFFSET(KnFreeCount, KNODE, FreeCount), - OFFSET(KnPfnDeferredList, KNODE, PfnDeferredList), - SIZE(KNODE_SIZE, KNODE), - - HEADER("KSPIN_LOCK_QUEUE"), - OFFSET(LqNext, KSPIN_LOCK_QUEUE, Next), - OFFSET(LqLock, KSPIN_LOCK_QUEUE, Lock), - - HEADER("KLOCK_QUEUE_HANDLE"), - OFFSET(LqhNext, KLOCK_QUEUE_HANDLE, LockQueue.Next), - OFFSET(LqhLock, KLOCK_QUEUE_HANDLE, LockQueue.Lock), - OFFSET(LqhOldIrql, KLOCK_QUEUE_HANDLE, OldIrql), - SIZE(LOCK_QUEUE_HEADER_SIZE, KLOCK_QUEUE_HANDLE), - - HEADER("LARGE_INTEGER"), - OFFSET(LiLowPart, LARGE_INTEGER, LowPart), - OFFSET(LiHighPart, LARGE_INTEGER, HighPart), -#if 0 - HEADER("LOADER_PARAMETER_BLOCK (rel. to LoadOrderListHead)"), - RELOFFSET(LpbLoadOrderListHead, LOADER_PARAMETER_BLOCK, LoadOrderListHead, LoadOrderListHead), - RELOFFSET(LpbMemoryDescriptorListHead, LOADER_PARAMETER_BLOCK, MemoryDescriptorListHead, LoadOrderListHead), - RELOFFSET(LpbKernelStack, LOADER_PARAMETER_BLOCK, KernelStack, LoadOrderListHead), - RELOFFSET(LpbPrcb, LOADER_PARAMETER_BLOCK, Prcb, LoadOrderListHead), - RELOFFSET(LpbProcess, LOADER_PARAMETER_BLOCK, Process, LoadOrderListHead), - RELOFFSET(LpbThread, LOADER_PARAMETER_BLOCK, Thread, LoadOrderListHead), - RELOFFSET(LpbI386, LOADER_PARAMETER_BLOCK, u.I386, LoadOrderListHead), - RELOFFSET(LpbRegistryLength, LOADER_PARAMETER_BLOCK, RegistryLength, LoadOrderListHead), - RELOFFSET(LpbRegistryBase, LOADER_PARAMETER_BLOCK, RegistryBase, LoadOrderListHead), - RELOFFSET(LpbConfigurationRoot, LOADER_PARAMETER_BLOCK, ConfigurationRoot, LoadOrderListHead), - RELOFFSET(LpbArcBootDeviceName, LOADER_PARAMETER_BLOCK, ArcBootDeviceName, LoadOrderListHead), - RELOFFSET(LpbArcHalDeviceName, LOADER_PARAMETER_BLOCK, ArcHalDeviceName, LoadOrderListHead), - RELOFFSET(LpbLoadOptions, LOADER_PARAMETER_BLOCK, LoadOptions, LoadOrderListHead), - RELOFFSET(LpbExtension, LOADER_PARAMETER_BLOCK, Extension, LoadOrderListHead), -#endif - - HEADER("LIST_ENTRY"), - OFFSET(LsFlink, LIST_ENTRY, Flink), - OFFSET(LsBlink, LIST_ENTRY, Blink), - - HEADER("PEB"), - OFFSET(PeKernelCallbackTable, PEB, KernelCallbackTable), - SIZE(ProcessEnvironmentBlockLength, PEB), - - HEADER("KPROFILE"), - OFFSET(PfType, KPROFILE, Type), - OFFSET(PfSize, KPROFILE, Size), - OFFSET(PfProfileListEntry, KPROFILE, ProfileListEntry), - OFFSET(PfProcess, KPROFILE, Process), - OFFSET(PfRangeBase, KPROFILE, RangeBase), - OFFSET(PfRangeLimit, KPROFILE, RangeLimit), - OFFSET(PfBucketShift, KPROFILE, BucketShift), - OFFSET(PfBuffer, KPROFILE, Buffer), - OFFSET(PfSegment, KPROFILE, Segment), - OFFSET(PfAffinity, KPROFILE, Affinity), - OFFSET(PfSource, KPROFILE, Source), - OFFSET(PfStarted, KPROFILE, Started), - SIZE(ProfileObjectLength, KPROFILE), - - HEADER("PORT_MESSAGE"), - OFFSET(PmLength, PORT_MESSAGE, u1.Length), - OFFSET(PmZeroInit, PORT_MESSAGE, u2.ZeroInit), - OFFSET(PmClientId, PORT_MESSAGE, ClientId), - OFFSET(PmProcess, PORT_MESSAGE, ClientId.UniqueProcess), - OFFSET(PmThread, PORT_MESSAGE, ClientId.UniqueThread), - OFFSET(PmMessageId, PORT_MESSAGE, MessageId), - OFFSET(PmClientViewSize, PORT_MESSAGE, ClientViewSize), - SIZE(PortMessageLength, PORT_MESSAGE), - - HEADER("KPROCESS"), - OFFSET(PrType, KPROCESS, Header.Type), - OFFSET(PrSize, KPROCESS, Header.Size), - OFFSET(PrSignalState, KPROCESS, Header.SignalState), - OFFSET(PrProfileListHead, KPROCESS, ProfileListHead), - OFFSET(PrDirectoryTableBase, KPROCESS, DirectoryTableBase), -#ifdef _M_IX86 - OFFSET(PrLdtDescriptor, KPROCESS, LdtDescriptor), -#endif - OFFSET(PrIopmOffset, KPROCESS, IopmOffset), -#ifdef _M_IX86 - OFFSET(PrInt21Descriptor, KPROCESS, Int21Descriptor), - OFFSET(PrVdmTrapcHandler, KPROCESS, VdmTrapcHandler), -// OFFSET(PrVdmObjects, KPROCESS, VdmObjects), - OFFSET(PrFlags, KPROCESS, Flags), -#endif -// OFFSET(PrInstrumentationCallback, KPROCESS, InstrumentationCallback), - OFFSET(PrActiveProcessors, KPROCESS, ActiveProcessors), - OFFSET(PrKernelTime, KPROCESS, KernelTime), - OFFSET(PrUserTime, KPROCESS, UserTime), - OFFSET(PrReadyListHead, KPROCESS, ReadyListHead), - OFFSET(PrSwapListEntry, KPROCESS, SwapListEntry), - OFFSET(PrThreadListHead, KPROCESS, ThreadListHead), - OFFSET(PrProcessLock, KPROCESS, ProcessLock), - OFFSET(PrAffinity, KPROCESS, Affinity), - OFFSET(PrProcessFlags, KPROCESS, ProcessFlags), - OFFSET(PrBasePriority, KPROCESS, BasePriority), - OFFSET(PrQuantumReset, KPROCESS, QuantumReset), - OFFSET(PrState, KPROCESS, State), - OFFSET(PrStackCount, KPROCESS, StackCount), -#if (NTDDI_VERSION >= NTDDI_LONGHORN) - OFFSET(PrCycleTime, KPROCESS, CycleTime), -#endif - SIZE(KernelProcessObjectLength, KPROCESS), - - HEADER("KQUEUE"), - OFFSET(QuType, KQUEUE, Header.Type), - OFFSET(QuSize, KQUEUE, Header.Size), - OFFSET(QuSignalState, KQUEUE, Header.SignalState), - OFFSET(QuEntryListHead, KQUEUE, EntryListHead), - OFFSET(QuCurrentCount, KQUEUE, CurrentCount), - OFFSET(QuMaximumCount, KQUEUE, MaximumCount), - OFFSET(QuThreadListHead, KQUEUE, ThreadListHead), - SIZE(QueueObjectLength, KQUEUE), - - HEADER("STRING"), - OFFSET(StrLength, STRING, Length), - OFFSET(StrMaximumLength, STRING, MaximumLength), - OFFSET(StrBuffer, STRING, Buffer), - - HEADER("TEB"), - OFFSET(TeCmTeb, TEB, Tib), -#ifdef _M_IX86 - OFFSET(TeExceptionList, TEB, Tib.ExceptionList), -#endif - OFFSET(TeStackBase, TEB, Tib.StackBase), - OFFSET(TeStackLimit, TEB, Tib.StackLimit), - OFFSET(TeFiberData, TEB, Tib.FiberData), - OFFSET(TeSelf, TEB, Tib.Self), - OFFSET(TeEnvironmentPointer, TEB, EnvironmentPointer), - OFFSET(TeClientId, TEB, ClientId), - OFFSET(TeActiveRpcHandle, TEB, ActiveRpcHandle), - OFFSET(TeThreadLocalStoragePointer, TEB, ThreadLocalStoragePointer), - OFFSET(TeCountOfOwnedCriticalSections, TEB, CountOfOwnedCriticalSections), - OFFSET(TePeb, TEB, ProcessEnvironmentBlock), - OFFSET(TeCsrClientThread, TEB, CsrClientThread), - OFFSET(TeWOW32Reserved, TEB, WOW32Reserved), -// OFFSET(TeSoftFpcr, TEB, SoftFpcr), - OFFSET(TeExceptionCode, TEB, ExceptionCode), - OFFSET(TeActivationContextStackPointer, TEB, ActivationContextStackPointer), - OFFSET(TeGdiClientPID, TEB, GdiClientPID), - OFFSET(TeGdiClientTID, TEB, GdiClientTID), - OFFSET(TeGdiThreadLocalInfo, TEB, GdiThreadLocalInfo), - OFFSET(TeglDispatchTable, TEB, glDispatchTable), - OFFSET(TeglReserved1, TEB, glReserved1), - OFFSET(TeglReserved2, TEB, glReserved2), - OFFSET(TeglSectionInfo, TEB, glSectionInfo), - OFFSET(TeglSection, TEB, glSection), - OFFSET(TeglTable, TEB, glTable), - OFFSET(TeglCurrentRC, TEB, glCurrentRC), - OFFSET(TeglContext, TEB, glContext), - OFFSET(TeDeallocationStack, TEB, DeallocationStack), - OFFSET(TeTlsSlots, TEB, TlsSlots), - OFFSET(TeTlsExpansionSlots, TEB, TlsExpansionSlots), - OFFSET(TeLastErrorValue, TEB, LastErrorValue), - OFFSET(TeVdm, TEB, Vdm), - OFFSET(TeInstrumentation, TEB, Instrumentation), - OFFSET(TeGdiBatchCount, TEB, GdiBatchCount), - OFFSET(TeGuaranteedStackBytes, TEB, GuaranteedStackBytes), - OFFSET(TeFlsData, TEB, FlsData), -// OFFSET(TeProcessRundown, TEB, ProcessRundown), - SIZE(ThreadEnvironmentBlockLength, TEB), - - HEADER("TIME_FIELDS"), - OFFSET(TfSecond, TIME_FIELDS, Second), - OFFSET(TfMinute, TIME_FIELDS, Minute), - OFFSET(TfHour, TIME_FIELDS, Hour), - OFFSET(TfWeekday, TIME_FIELDS, Weekday), - OFFSET(TfDay, TIME_FIELDS, Day), - OFFSET(TfMonth, TIME_FIELDS, Month), - OFFSET(TfYear, TIME_FIELDS, Year), - OFFSET(TfMilliseconds, TIME_FIELDS, Milliseconds), - - HEADER("KTHREAD"), - OFFSET(ThType, KTHREAD, DispatcherHeader.Type), -// OFFSET(ThNpxIrql, KTHREAD, NpxIrql), - OFFSET(ThSize, KTHREAD, DispatcherHeader.Size), - OFFSET(ThLock, KTHREAD, DispatcherHeader.Lock), - OFFSET(ThDebugActive, KTHREAD, DispatcherHeader.DebugActive), -// OFFSET(ThThreadControlFlags, KTHREAD, DispatcherHeader.ThreadControlFlags), - OFFSET(ThSignalState, KTHREAD, DispatcherHeader.SignalState), -#if (NTDDI_VERSION >= NTDDI_LONGHORN) - OFFSET(ThCycleTime, KTHREAD, CycleTime), - OFFSET(ThHighCycleTime, KTHREAD, HighCycleTime), -#endif - OFFSET(ThInitialStack, KTHREAD, InitialStack), - OFFSET(ThStackLimit, KTHREAD, StackLimit), - OFFSET(ThKernelStack, KTHREAD, KernelStack), - OFFSET(ThThreadLock, KTHREAD, ThreadLock), -// OFFSET(ThRunning, KTHREAD, Running), - OFFSET(ThAlerted, KTHREAD, Alerted), -// OFFSET(ThMiscFlags, KTHREAD, MiscFlags), - OFFSET(ThApcState, KTHREAD, ApcState), - OFFSET(ThPriority, KTHREAD, Priority), - OFFSET(ThSwapBusy, KTHREAD, SwapBusy), - OFFSET(ThNextProcessor, KTHREAD, NextProcessor), - OFFSET(ThDeferredProcessor, KTHREAD, DeferredProcessor), - OFFSET(ThApcQueueLock, KTHREAD, ApcQueueLock), - OFFSET(ThContextSwitches, KTHREAD, ContextSwitches), - OFFSET(ThState, KTHREAD, State), - OFFSET(ThNpxState, KTHREAD, NpxState), - OFFSET(ThWaitIrql, KTHREAD, WaitIrql), - OFFSET(ThWaitMode, KTHREAD, WaitMode), - OFFSET(ThWaitStatus, KTHREAD, WaitStatus), - OFFSET(ThWaitBlockList, KTHREAD, WaitBlockList), - OFFSET(ThGateObject, KTHREAD, GateObject), - OFFSET(ThWaitListEntry, KTHREAD, WaitListEntry), - OFFSET(ThSwapListEntry, KTHREAD, SwapListEntry), - OFFSET(ThQueue, KTHREAD, Queue), - OFFSET(ThWaitTime, KTHREAD, WaitTime), - OFFSET(ThCombinedApcDisable, KTHREAD, CombinedApcDisable), - OFFSET(ThKernelApcDisable, KTHREAD, KernelApcDisable), - OFFSET(ThSpecialApcDisable, KTHREAD, SpecialApcDisable), - OFFSET(ThTeb, KTHREAD, Teb), - OFFSET(ThTimer, KTHREAD, Timer), - OFFSET(ThThreadFlags, KTHREAD, ThreadFlags), - OFFSET(ThServiceTable, KTHREAD, ServiceTable), - OFFSET(ThWaitBlock, KTHREAD, WaitBlock), - OFFSET(ThResourceIndex, KTHREAD, ResourceIndex), - OFFSET(ThQueueListEntry, KTHREAD, QueueListEntry), - OFFSET(ThTrapFrame, KTHREAD, TrapFrame), -#if (NTDDI_VERSION >= NTDDI_LONGHORN) - OFFSET(ThFirstArgument, KTHREAD, FirstArgument), -#endif - OFFSET(ThCallbackStack, KTHREAD, CallbackStack), -// OFFSET(ThCallbackDepth, KTHREAD, CallbackDepth), - OFFSET(ThApcStateIndex, KTHREAD, ApcStateIndex), - OFFSET(ThIdealProcessor, KTHREAD, IdealProcessor), - OFFSET(ThBasePriority, KTHREAD, BasePriority), - OFFSET(ThPriorityDecrement, KTHREAD, PriorityDecrement), - OFFSET(ThAdjustReason, KTHREAD, AdjustReason), - OFFSET(ThAdjustIncrement, KTHREAD, AdjustIncrement), - OFFSET(ThPreviousMode, KTHREAD, PreviousMode), - OFFSET(ThSaturation, KTHREAD, Saturation), -#if (NTDDI_VERSION >= NTDDI_LONGHORN) - OFFSET(ThSystemCallNumber, KTHREAD, SystemCallNumber), -#endif - OFFSET(ThFreezeCount, KTHREAD, FreezeCount), - OFFSET(ThUserAffinity, KTHREAD, UserAffinity), - OFFSET(ThProcess, KTHREAD, Process), - OFFSET(ThAffinity, KTHREAD, Affinity), - OFFSET(ThUserIdealProcessor, KTHREAD, UserIdealProcessor), - OFFSET(ThApcStatePointer, KTHREAD, ApcStatePointer), - OFFSET(ThSavedApcState, KTHREAD, SavedApcState), - OFFSET(ThWaitReason, KTHREAD, WaitReason), - OFFSET(ThSuspendCount, KTHREAD, SuspendCount), -// OFFSET(ThCodePatchInProgress, KTHREAD, CodePatchInProgress), - OFFSET(ThWin32Thread, KTHREAD, Win32Thread), - OFFSET(ThStackBase, KTHREAD, StackBase), - OFFSET(ThSuspendApc, KTHREAD, SuspendApc), - OFFSET(ThPowerState, KTHREAD, PowerState), - OFFSET(ThKernelTime, KTHREAD, KernelTime), - OFFSET(ThLegoData, KTHREAD, LegoData), - OFFSET(ThLargeStack, KTHREAD, LargeStack), - OFFSET(ThUserTime, KTHREAD, UserTime), - OFFSET(ThSuspendSemaphore, KTHREAD, SuspendSemaphore), - OFFSET(ThSListFaultCount, KTHREAD, SListFaultCount), - OFFSET(ThThreadListEntry, KTHREAD, ThreadListEntry), - OFFSET(ThMutantListHead, KTHREAD, MutantListHead), - OFFSET(ThSListFaultAddress, KTHREAD, SListFaultAddress), - SIZE(KernelThreadObjectLength, KTHREAD), - SIZE(ExecutiveThreadObjectLength, ETHREAD), - - HEADER("KTIMER"), - OFFSET(TiType, KTIMER, Header.Type), - OFFSET(TiSize, KTIMER, Header.Size), - OFFSET(TiInserted, KTIMER, Header.Inserted), - OFFSET(TiSignalState, KTIMER, Header.SignalState), - OFFSET(TiDueTime, KTIMER, DueTime), - OFFSET(TiTimerListEntry, KTIMER, TimerListEntry), - OFFSET(TiDpc, KTIMER, Dpc), - OFFSET(TiPeriod, KTIMER, Period), - SIZE(TimerObjectLength, KTIMER), - - HEADER("TIME"), -// OFFSET(TmLowTime, TIME, LowTime), -// OFFSET(TmHighTime, TIME, HighTime), - -#if 0 - HEADER("SYSTEM_CONTEXT_SWITCH_INFORMATION (relative to FindAny)"), - RELOFFSET(TwFindAny, SYSTEM_CONTEXT_SWITCH_INFORMATION, FindAny, FindAny), - RELOFFSET(TwFindIdeal, SYSTEM_CONTEXT_SWITCH_INFORMATION, FindIdeal, FindAny), - RELOFFSET(TwFindLast, SYSTEM_CONTEXT_SWITCH_INFORMATION, FindLast, FindAny), - RELOFFSET(TwIdleAny, SYSTEM_CONTEXT_SWITCH_INFORMATION, IdleAny, FindAny), - RELOFFSET(TwIdleCurrent, SYSTEM_CONTEXT_SWITCH_INFORMATION, IdleCurrent, FindAny), - RELOFFSET(TwIdleIdeal, SYSTEM_CONTEXT_SWITCH_INFORMATION, IdleIdeal, FindAny), - RELOFFSET(TwIdleLast, SYSTEM_CONTEXT_SWITCH_INFORMATION, IdleLast, FindAny), - RELOFFSET(TwPreemptAny, SYSTEM_CONTEXT_SWITCH_INFORMATION, PreemptAny, FindAny), - RELOFFSET(TwPreemptCurrent, SYSTEM_CONTEXT_SWITCH_INFORMATION, PreemptCurrent, FindAny), - RELOFFSET(TwPreemptLast, SYSTEM_CONTEXT_SWITCH_INFORMATION, PreemptLast, FindAny), - RELOFFSET(TwSwitchToIdle, SYSTEM_CONTEXT_SWITCH_INFORMATION, SwitchToIdle, FindAny), -#endif - - HEADER("KUSER_SHARED_DATA"), - OFFSET(UsTickCountMultiplier, KUSER_SHARED_DATA, TickCountMultiplier), - OFFSET(UsInterruptTime, KUSER_SHARED_DATA, InterruptTime), - OFFSET(UsSystemTime, KUSER_SHARED_DATA, SystemTime), - OFFSET(UsTimeZoneBias, KUSER_SHARED_DATA, TimeZoneBias), - OFFSET(UsImageNumberLow, KUSER_SHARED_DATA, ImageNumberLow), - OFFSET(UsImageNumberHigh, KUSER_SHARED_DATA, ImageNumberHigh), - OFFSET(UsNtSystemRoot, KUSER_SHARED_DATA, NtSystemRoot), - OFFSET(UsMaxStackTraceDepth, KUSER_SHARED_DATA, MaxStackTraceDepth), - OFFSET(UsCryptoExponent, KUSER_SHARED_DATA, CryptoExponent), - OFFSET(UsTimeZoneId, KUSER_SHARED_DATA, TimeZoneId), - OFFSET(UsLargePageMinimum, KUSER_SHARED_DATA, LargePageMinimum), - OFFSET(UsReserved2, KUSER_SHARED_DATA, Reserved2), - OFFSET(UsNtProductType, KUSER_SHARED_DATA, NtProductType), - OFFSET(UsProductTypeIsValid, KUSER_SHARED_DATA, ProductTypeIsValid), - OFFSET(UsNtMajorVersion, KUSER_SHARED_DATA, NtMajorVersion), - OFFSET(UsNtMinorVersion, KUSER_SHARED_DATA, NtMinorVersion), - OFFSET(UsProcessorFeatures, KUSER_SHARED_DATA, ProcessorFeatures), - OFFSET(UsReserved1, KUSER_SHARED_DATA, Reserved1), - OFFSET(UsReserved3, KUSER_SHARED_DATA, Reserved3), - OFFSET(UsTimeSlip, KUSER_SHARED_DATA, TimeSlip), - OFFSET(UsAlternativeArchitecture, KUSER_SHARED_DATA, AlternativeArchitecture), - OFFSET(UsSystemExpirationDate, KUSER_SHARED_DATA, SystemExpirationDate), - OFFSET(UsSuiteMask, KUSER_SHARED_DATA, SuiteMask), - OFFSET(UsKdDebuggerEnabled, KUSER_SHARED_DATA, KdDebuggerEnabled), - OFFSET(UsActiveConsoleId, KUSER_SHARED_DATA, ActiveConsoleId), - OFFSET(UsDismountCount, KUSER_SHARED_DATA, DismountCount), - OFFSET(UsComPlusPackage, KUSER_SHARED_DATA, ComPlusPackage), - OFFSET(UsLastSystemRITEventTickCount, KUSER_SHARED_DATA, LastSystemRITEventTickCount), - OFFSET(UsNumberOfPhysicalPages, KUSER_SHARED_DATA, NumberOfPhysicalPages), - OFFSET(UsSafeBootMode, KUSER_SHARED_DATA, SafeBootMode), -// OFFSET(UsTscQpcData, KUSER_SHARED_DATA, TscQpcData), - OFFSET(UsTestRetInstruction, KUSER_SHARED_DATA, TestRetInstruction), - OFFSET(UsSystemCall, KUSER_SHARED_DATA, SystemCall), - OFFSET(UsSystemCallReturn, KUSER_SHARED_DATA, SystemCallReturn), - OFFSET(UsSystemCallPad, KUSER_SHARED_DATA, SystemCallPad), - OFFSET(UsTickCount, KUSER_SHARED_DATA, TickCount), - OFFSET(UsTickCountQuad, KUSER_SHARED_DATA, TickCountQuad), - OFFSET(UsWow64SharedInformation, KUSER_SHARED_DATA, Wow64SharedInformation), - - HEADER("KWAIT_BLOCK"), - OFFSET(WbWaitListEntry, KWAIT_BLOCK, WaitListEntry), - OFFSET(WbThread, KWAIT_BLOCK, Thread), - OFFSET(WbObject, KWAIT_BLOCK, Object), - OFFSET(WbNextWaitBlock, KWAIT_BLOCK, NextWaitBlock), - OFFSET(WbWaitKey, KWAIT_BLOCK, WaitKey), - OFFSET(WbWaitType, KWAIT_BLOCK, WaitType), - -#if defined(_M_IX86) - - HEADER("CONTEXT"), - OFFSET(CsContextFlags, CONTEXT, ContextFlags), - OFFSET(CsDr0, CONTEXT, Dr0), - OFFSET(CsDr1, CONTEXT, Dr1), - OFFSET(CsDr2, CONTEXT, Dr2), - OFFSET(CsDr3, CONTEXT, Dr3), - OFFSET(CsDr6, CONTEXT, Dr6), - OFFSET(CsDr7, CONTEXT, Dr7), - OFFSET(CsFloatSave, CONTEXT, FloatSave), - OFFSET(CsSegGs, CONTEXT, SegGs), - OFFSET(CsSegFs, CONTEXT, SegFs), - OFFSET(CsSegEs, CONTEXT, SegEs), - OFFSET(CsSegDs, CONTEXT, SegDs), - OFFSET(CsEdi, CONTEXT, Edi), - OFFSET(CsEsi, CONTEXT, Esi), - OFFSET(CsEbx, CONTEXT, Ebx), - OFFSET(CsEdx, CONTEXT, Edx), - OFFSET(CsEcx, CONTEXT, Ecx), - OFFSET(CsEax, CONTEXT, Eax), - OFFSET(CsEbp, CONTEXT, Ebp), - OFFSET(CsEip, CONTEXT, Eip), - OFFSET(CsSegCs, CONTEXT, SegCs), - OFFSET(CsEflags, CONTEXT, EFlags), - OFFSET(CsEsp, CONTEXT, Esp), - OFFSET(CsSegSs, CONTEXT, SegSs), - OFFSET(CsExtendedRegisters, CONTEXT, ExtendedRegisters), - SIZE(ContextFrameLength, CONTEXT), - SIZE(CONTEXT_LENGTH, CONTEXT), - - HEADER("KGDTENTRY"), - OFFSET(KgdtBaseLow, KGDTENTRY, BaseLow), - OFFSET(KgdtBaseMid, KGDTENTRY, HighWord.Bytes.BaseMid), - OFFSET(KgdtBaseHi, KGDTENTRY, HighWord.Bytes.BaseHi), - OFFSET(KgdtLimitHi, KGDTENTRY, HighWord.Bytes.Flags2), - OFFSET(KgdtLimitLow, KGDTENTRY, LimitLow), - - HEADER("KTRAP_FRAME"), - OFFSET(TsExceptionList, KTRAP_FRAME, ExceptionList), - OFFSET(TsPreviousPreviousMode, KTRAP_FRAME, PreviousPreviousMode), - OFFSET(TsSegGs, KTRAP_FRAME, SegGs), - OFFSET(TsSegFs, KTRAP_FRAME, SegFs), - OFFSET(TsSegEs, KTRAP_FRAME, SegEs), - OFFSET(TsSegDs, KTRAP_FRAME, SegDs), - OFFSET(TsEdi, KTRAP_FRAME, Edi), - OFFSET(TsEsi, KTRAP_FRAME, Esi), - OFFSET(TsEbp, KTRAP_FRAME, Ebp), - OFFSET(TsEbx, KTRAP_FRAME, Ebx), - OFFSET(TsEdx, KTRAP_FRAME, Edx), - OFFSET(TsEcx, KTRAP_FRAME, Ecx), - OFFSET(TsEax, KTRAP_FRAME, Eax), - OFFSET(TsErrCode, KTRAP_FRAME, ErrCode), - OFFSET(TsEip, KTRAP_FRAME, Eip), - OFFSET(TsSegCs, KTRAP_FRAME, SegCs), - OFFSET(TsEflags, KTRAP_FRAME, EFlags), - OFFSET(TsHardwareEsp, KTRAP_FRAME, HardwareEsp), - OFFSET(TsHardwareSegSs, KTRAP_FRAME, HardwareSegSs), - OFFSET(TsTempSegCs, KTRAP_FRAME, TempSegCs), -// OFFSET(TsLogging, KTRAP_FRAME, Logging), - OFFSET(TsTempEsp, KTRAP_FRAME, TempEsp), - OFFSET(TsDbgEbp, KTRAP_FRAME, DbgEbp), - OFFSET(TsDbgEip, KTRAP_FRAME, DbgEip), - OFFSET(TsDbgArgMark, KTRAP_FRAME, DbgArgMark), - OFFSET(TsDbgArgPointer, KTRAP_FRAME, DbgArgPointer), - OFFSET(TsDr0, KTRAP_FRAME, Dr0), - OFFSET(TsDr1, KTRAP_FRAME, Dr1), - OFFSET(TsDr2, KTRAP_FRAME, Dr2), - OFFSET(TsDr3, KTRAP_FRAME, Dr3), - OFFSET(TsDr6, KTRAP_FRAME, Dr6), - OFFSET(TsDr7, KTRAP_FRAME, Dr7), - OFFSET(TsV86Es, KTRAP_FRAME, V86Es), - OFFSET(TsV86Ds, KTRAP_FRAME, V86Ds), - OFFSET(TsV86Fs, KTRAP_FRAME, V86Fs), - OFFSET(TsV86Gs, KTRAP_FRAME, V86Gs), - SIZE(KTRAP_FRAME_LENGTH, KTRAP_FRAME), - CONSTANT(KTRAP_FRAME_ALIGN), - CONSTANT(FRAME_EDITED), - - HEADER("KTSS"), - OFFSET(TssEsp0, KTSS, Esp0), - OFFSET(TssCR3, KTSS, CR3), - OFFSET(TssEip, KTSS, Eip), - OFFSET(TssEFlags, KTSS, EFlags), - OFFSET(TssEax, KTSS, Eax), - OFFSET(TssEbx, KTSS, Ebx), - OFFSET(TssEcx, KTSS, Ecx), - OFFSET(TssEdx, KTSS, Edx), - OFFSET(TssEsp, KTSS, Esp), - OFFSET(TssEbp, KTSS, Ebp), - OFFSET(TssEsi, KTSS, Esi), - OFFSET(TssEdi, KTSS, Edi), - OFFSET(TssEs, KTSS, Es), - OFFSET(TssCs, KTSS, Cs), - OFFSET(TssSs, KTSS, Ss), - OFFSET(TssDs, KTSS, Ds), - OFFSET(TssFs, KTSS, Fs), - OFFSET(TssGs, KTSS, Gs), - OFFSET(TssLDT, KTSS, LDT), - OFFSET(TssIoMapBase, KTSS, IoMapBase), - OFFSET(TssIoMaps, KTSS, IoMaps), - SIZE(TssLength, KTSS), - -#elif defined(_M_AMD64) - - HEADER("Argument Home Address"), - OFFSET(P1Home, CONTEXT, P1Home), - OFFSET(P2Home, CONTEXT, P1Home), - OFFSET(P3Home, CONTEXT, P1Home), - OFFSET(P4Home, CONTEXT, P1Home), - - HEADER("CONTEXT"), - OFFSET(CxP1Home, CONTEXT, P1Home), - OFFSET(CxP2Home, CONTEXT, P2Home), - OFFSET(CxP3Home, CONTEXT, P3Home), - OFFSET(CxP4Home, CONTEXT, P4Home), - OFFSET(CxP5Home, CONTEXT, P5Home), - OFFSET(CxP6Home, CONTEXT, P6Home), - OFFSET(CxContextFlags, CONTEXT, ContextFlags), - OFFSET(CxMxCsr, CONTEXT, MxCsr), - OFFSET(CxSegCs, CONTEXT, SegCs), - OFFSET(CxSegDs, CONTEXT, SegDs), - OFFSET(CxSegEs, CONTEXT, SegEs), - OFFSET(CxSegFs, CONTEXT, SegFs), - OFFSET(CxSegGs, CONTEXT, SegGs), - OFFSET(CxSegSs, CONTEXT, SegSs), - OFFSET(CxEFlags, CONTEXT, EFlags), - OFFSET(CxDr0, CONTEXT, Dr0), - OFFSET(CxDr1, CONTEXT, Dr1), - OFFSET(CxDr2, CONTEXT, Dr2), - OFFSET(CxDr3, CONTEXT, Dr3), - OFFSET(CxDr6, CONTEXT, Dr6), - OFFSET(CxDr7, CONTEXT, Dr7), - OFFSET(CxRax, CONTEXT, Rax), - OFFSET(CxRcx, CONTEXT, Rcx), - OFFSET(CxRdx, CONTEXT, Rdx), - OFFSET(CxRbx, CONTEXT, Rbx), - OFFSET(CxRsp, CONTEXT, Rsp), - OFFSET(CxRbp, CONTEXT, Rbp), - OFFSET(CxRsi, CONTEXT, Rsi), - OFFSET(CxRdi, CONTEXT, Rdi), - OFFSET(CxR8, CONTEXT, R8), - OFFSET(CxR9, CONTEXT, R9), - OFFSET(CxR10, CONTEXT, R10), - OFFSET(CxR11, CONTEXT, R11), - OFFSET(CxR12, CONTEXT, R12), - OFFSET(CxR13, CONTEXT, R13), - OFFSET(CxR14, CONTEXT, R14), - OFFSET(CxR15, CONTEXT, R15), - OFFSET(CxRip, CONTEXT, Rip), - OFFSET(CxFltSave, CONTEXT, FltSave), - OFFSET(CxXmm0, CONTEXT, Xmm0), - OFFSET(CxXmm1, CONTEXT, Xmm1), - OFFSET(CxXmm2, CONTEXT, Xmm2), - OFFSET(CxXmm3, CONTEXT, Xmm3), - OFFSET(CxXmm4, CONTEXT, Xmm4), - OFFSET(CxXmm5, CONTEXT, Xmm5), - OFFSET(CxXmm6, CONTEXT, Xmm6), - OFFSET(CxXmm7, CONTEXT, Xmm7), - OFFSET(CxXmm8, CONTEXT, Xmm8), - OFFSET(CxXmm9, CONTEXT, Xmm9), - OFFSET(CxXmm10, CONTEXT, Xmm10), - OFFSET(CxXmm11, CONTEXT, Xmm11), - OFFSET(CxXmm12, CONTEXT, Xmm12), - OFFSET(CxXmm13, CONTEXT, Xmm13), - OFFSET(CxXmm14, CONTEXT, Xmm14), - OFFSET(CxXmm15, CONTEXT, Xmm15), - OFFSET(CxDebugControl, CONTEXT, DebugControl), - OFFSET(CxLastBranchToRip, CONTEXT, LastBranchToRip), - OFFSET(CxLastBranchFromRip, CONTEXT, LastBranchFromRip), - OFFSET(CxLastExceptionToRip, CONTEXT, LastExceptionToRip), - OFFSET(CxLastExceptionFromRip, CONTEXT, LastExceptionFromRip), - OFFSET(CxVectorControl, CONTEXT, VectorControl), - OFFSET(CxVectorRegister, CONTEXT, VectorRegister), - SIZE(CONTEXT_FRAME_LENGTH, CONTEXT), - - HEADER("DISPATCHER_CONTEXT"), - OFFSET(DcControlPc, TYPE, ControlPc), - OFFSET(DcImageBase, TYPE, ImageBase), - OFFSET(DcFunctionEntry, TYPE, FunctionEntry), - OFFSET(DcEstablisherFrame, TYPE, EstablisherFrame), - OFFSET(DcTargetIp, TYPE, TargetIp), - OFFSET(DcContextRecord, TYPE, ContextRecord), - OFFSET(DcLanguageHandler, TYPE, LanguageHandler), - OFFSET(DcHandlerData, TYPE, HandlerData), - OFFSET(DcHistoryTable, TYPE, HistoryTable), - OFFSET(DcScopeIndex, TYPE, ScopeIndex), - - HEADER("KEXCEPTION_FRAME"), - OFFSET(ExP1Home, KEXCEPTION_FRAME, P1Home), - OFFSET(ExP2Home, KEXCEPTION_FRAME, P2Home), - OFFSET(ExP3Home, KEXCEPTION_FRAME, P3Home), - OFFSET(ExP4Home, KEXCEPTION_FRAME, P4Home), - OFFSET(ExP5, KEXCEPTION_FRAME, P5), - OFFSET(ExXmm6, KEXCEPTION_FRAME, Xmm6), - OFFSET(ExXmm7, KEXCEPTION_FRAME, Xmm7), - OFFSET(ExXmm8, KEXCEPTION_FRAME, Xmm8), - OFFSET(ExXmm9, KEXCEPTION_FRAME, Xmm9), - OFFSET(ExXmm10, KEXCEPTION_FRAME, Xmm10), - OFFSET(ExXmm11, KEXCEPTION_FRAME, Xmm11), - OFFSET(ExXmm12, KEXCEPTION_FRAME, Xmm12), - OFFSET(ExXmm13, KEXCEPTION_FRAME, Xmm13), - OFFSET(ExXmm14, KEXCEPTION_FRAME, Xmm14), - OFFSET(ExXmm15, KEXCEPTION_FRAME, Xmm15), - OFFSET(ExMxCsr, KEXCEPTION_FRAME, MxCsr), - OFFSET(ExRbp, KEXCEPTION_FRAME, Rbp), - OFFSET(ExRbx, KEXCEPTION_FRAME, Rbx), - OFFSET(ExRdi, KEXCEPTION_FRAME, Rdi), - OFFSET(ExRsi, KEXCEPTION_FRAME, Rsi), - OFFSET(ExR12, KEXCEPTION_FRAME, R12), - OFFSET(ExR13, KEXCEPTION_FRAME, R13), - OFFSET(ExR14, KEXCEPTION_FRAME, R14), - OFFSET(ExR15, KEXCEPTION_FRAME, R15), - OFFSET(ExReturn, KEXCEPTION_FRAME, Return), - OFFSET(CuInitialStack, KEXCEPTION_FRAME, InitialStack), - OFFSET(CuTrapFrame, KEXCEPTION_FRAME, TrapFrame), - OFFSET(CuCallbackStack, KEXCEPTION_FRAME, CallbackStack), - OFFSET(CuOutputBuffer, KEXCEPTION_FRAME, OutputBuffer), - OFFSET(CuOutputLength, KEXCEPTION_FRAME, OutputLength), - SIZE(KEXCEPTION_FRAME_LENGTH, KEXCEPTION_FRAME), - - HEADER("JUMP_BUFFER"), - OFFSET(JbFrame, JUMP_BUFFER, Frame), - OFFSET(JbRbx, JUMP_BUFFER, Rbx), - OFFSET(JbRsp, JUMP_BUFFER, Rsp), - OFFSET(JbRbp, JUMP_BUFFER, Rbp), - OFFSET(JbRsi, JUMP_BUFFER, Rsi), - OFFSET(JbRdi, JUMP_BUFFER, Rdi), - OFFSET(JbR12, JUMP_BUFFER, R12), - OFFSET(JbR13, JUMP_BUFFER, R13), - OFFSET(JbR14, JUMP_BUFFER, R14), - OFFSET(JbR15, JUMP_BUFFER, R15), - OFFSET(JbRip, JUMP_BUFFER, Rip), - OFFSET(JbMxCsr, JUMP_BUFFER, MxCsr), - OFFSET(JbFpCsr, JUMP_BUFFER, FpCsr), - OFFSET(JbXmm6, JUMP_BUFFER, Xmm6), - OFFSET(JbXmm7, JUMP_BUFFER, Xmm7), - OFFSET(JbXmm8, JUMP_BUFFER, Xmm8), - OFFSET(JbXmm9, JUMP_BUFFER, Xmm9), - OFFSET(JbXmm10, JUMP_BUFFER, Xmm10), - OFFSET(JbXmm11, JUMP_BUFFER, Xmm11), - OFFSET(JbXmm12, JUMP_BUFFER, Xmm12), - OFFSET(JbXmm13, JUMP_BUFFER, Xmm13), - OFFSET(JbXmm14, JUMP_BUFFER, Xmm14), - OFFSET(JbXmm15, JUMP_BUFFER, Xmm15), - - HEADER("KGDT64"), - OFFSET(KgdtBaseLow, KGDT64, BaseLow), - OFFSET(KgdtBaseMiddle, KGDT64, BaseMiddle), - OFFSET(KgdtBaseHigh, KGDT64, BaseHigh), - OFFSET(KgdtBaseUpper, KGDT64, BaseUpper), - OFFSET(KgdtLimitHigh, KGDT64, LimitHigh), - OFFSET(KgdtLimitLow, KGDT64, LimitLow), - CONSTANT(KGDT_LIMIT_ENCODE_MASK), - - HEADER("KPRCB"), - OFFSET(PbMxCsr, KPRCB, MxCsr), - OFFSET(PbNumber, KPRCB, Number), - OFFSET(PbInterruptRequest, KPRCB, InterruptRequest), - OFFSET(PbIdleHalt, KPRCB, IdleHalt), - OFFSET(PbCurrentThread, KPRCB, CurrentThread), - OFFSET(PbNextThread, KPRCB, NextThread), - OFFSET(PbIdleThread, KPRCB, IdleThread), - OFFSET(PbNestingLevel, KPRCB, NestingLevel), - OFFSET(PbRspBase, KPRCB, RspBase), - OFFSET(PbPrcbLock, KPRCB, PrcbLock), - OFFSET(PbSetMember, KPRCB, SetMember), - OFFSET(PbProcessorState, KPRCB, ProcessorState), - OFFSET(PbCpuType, KPRCB, CpuType), - OFFSET(PbCpuID, KPRCB, CpuID), - OFFSET(PbCpuStep, KPRCB, CpuStep), - OFFSET(PbHalReserved, KPRCB, HalReserved), - OFFSET(PbMinorVersion, KPRCB, MinorVersion), - OFFSET(PbMajorVersion, KPRCB, MajorVersion), - OFFSET(PbBuildType, KPRCB, BuildType), - OFFSET(PbCpuVendor, KPRCB, CpuVendor), - OFFSET(PbCoresPerPhysicalProcessor, KPRCB, CoresPerPhysicalProcessor), - OFFSET(PbLogicalProcessorsPerCore, KPRCB, LogicalProcessorsPerCore), - OFFSET(PbApicMask, KPRCB, ApicMask), - OFFSET(PbCFlushSize, KPRCB, CFlushSize), - OFFSET(PbAcpiReserved, KPRCB, AcpiReserved), - OFFSET(PbInitialApicId, KPRCB, InitialApicId), - OFFSET(PbStride, KPRCB, Stride), - OFFSET(PbLockQueue, KPRCB, LockQueue), - OFFSET(PbPPLookasideList, KPRCB, PPLookasideList), - OFFSET(PbPPNPagedLookasideList, KPRCB, PPNPagedLookasideList), - OFFSET(PbPPPagedLookasideList, KPRCB, PPPagedLookasideList), - OFFSET(PbPacketBarrier, KPRCB, PacketBarrier), - OFFSET(PbDeferredReadyListHead, KPRCB, DeferredReadyListHead), - OFFSET(PbLookasideIrpFloat, KPRCB, LookasideIrpFloat), - OFFSET(PbSystemCalls, KPRCB, SystemCalls), - OFFSET(PbReadOperationCount, KPRCB, ReadOperationCount), - OFFSET(PbWriteOperationCount, KPRCB, WriteOperationCount), - OFFSET(PbOtherOperationCount, KPRCB, OtherOperationCount), - OFFSET(PbReadTransferCount, KPRCB, ReadTransferCount), - OFFSET(PbWriteTransferCount, KPRCB, WriteTransferCount), - OFFSET(PbOtherTransferCount, KPRCB, OtherTransferCount), - OFFSET(PbContextSwitches, KPRCB, ContextSwitches), - OFFSET(PbTargetSet, KPRCB, TargetSet), - OFFSET(PbIpiFrozen, KPRCB, IpiFrozen), - OFFSET(PbRequestMailbox, KPRCB, RequestMailbox), - OFFSET(PbSenderSummary, KPRCB, SenderSummary), - OFFSET(PbDpcListHead, KPRCB, DpcListHead), - OFFSET(PbDpcLock, KPRCB, DpcLock), - OFFSET(PbDpcQueueDepth, KPRCB, DpcQueueDepth), - OFFSET(PbDpcCount, KPRCB, DpcCount), - OFFSET(PbDpcStack, KPRCB, DpcStack), - OFFSET(PbMaximumDpcQueueDepth, KPRCB, MaximumDpcQueueDepth), - OFFSET(PbDpcRequestRate, KPRCB, DpcRequestRate), - OFFSET(PbMinimumDpcRate, KPRCB, MinimumDpcRate), - OFFSET(PbDpcInterruptRequested, KPRCB, DpcInterruptRequested), - OFFSET(PbDpcThreadRequested, KPRCB, DpcThreadRequested), - OFFSET(PbDpcRoutineActive, KPRCB, DpcRoutineActive), - OFFSET(PbDpcThreadActive, KPRCB, DpcThreadActive), - OFFSET(PbTimerHand, KPRCB, TimerHand), - OFFSET(PbTimerRequest, KPRCB, TimerRequest), - OFFSET(PbTickOffset, KPRCB, TickOffset), - OFFSET(PbMasterOffset, KPRCB, MasterOffset), - OFFSET(PbDpcLastCount, KPRCB, DpcLastCount), - OFFSET(PbQuantumEnd, KPRCB, QuantumEnd), - OFFSET(PbDpcSetEventRequest, KPRCB, DpcSetEventRequest), - OFFSET(PbIdleSchedule, KPRCB, IdleSchedule), - OFFSET(PbReadySummary, KPRCB, ReadySummary), - OFFSET(PbDispatcherReadyListHead, KPRCB, DispatcherReadyListHead), - OFFSET(PbInterruptCount, KPRCB, InterruptCount), - OFFSET(PbKernelTime, KPRCB, KernelTime), - OFFSET(PbUserTime, KPRCB, UserTime), - OFFSET(PbDpcTime, KPRCB, DpcTime), - OFFSET(PbInterruptTime, KPRCB, InterruptTime), - OFFSET(PbAdjustDpcThreshold, KPRCB, AdjustDpcThreshold), - OFFSET(PbSkipTick, KPRCB, SkipTick), - OFFSET(PbPollSlot, KPRCB, PollSlot), - OFFSET(PbParentNode, KPRCB, ParentNode), - OFFSET(PbMultiThreadProcessorSet, KPRCB, MultiThreadProcessorSet), - OFFSET(PbMultiThreadSetMaster, KPRCB, MultiThreadSetMaster), - OFFSET(PbStartCycles, KPRCB, StartCycles), - OFFSET(PbPageColor, KPRCB, PageColor), - OFFSET(PbNodeColor, KPRCB, NodeColor), - OFFSET(PbNodeShiftedColor, KPRCB,NodeShiftedColor), - OFFSET(PbSecondaryColorMask, KPRCB, SecondaryColorMask), - OFFSET(PbSleeping, KPRCB, Sleeping), - OFFSET(PbCycleTime, KPRCB, CycleTime), - OFFSET(PbFastReadNoWait, KPRCB, FastReadNoWait), - OFFSET(PbFastReadWait, KPRCB, FastReadWait), - OFFSET(PbFastReadNotPossible, KPRCB, FastReadNotPossible), - OFFSET(PbCopyReadNoWait, KPRCB, CopyReadNoWait), - OFFSET(PbCopyReadWait, KPRCB, CopyReadWait), - OFFSET(PbCopyReadNoWaitMiss, KPRCB, CopyReadNoWaitMiss), - OFFSET(PbAlignmentFixupCount, KPRCB, AlignmentFixupCount), - OFFSET(PbExceptionDispatchCount, KPRCB, ExceptionDispatchCount), - OFFSET(PbVendorString, KPRCB, VendorString), - OFFSET(PbPowerState, KPRCB, PowerState), - SIZE(ProcessorBlockLength, KPRCB), - - HEADER("KPCR"), - OFFSET(PcGdt, KPCR, Gdt), - OFFSET(PcTss, KPCR, Tss), - OFFSET(PcUserRsp, KPCR, UserRsp), - OFFSET(PcSelf, KPCR, Self), - OFFSET(PcCurrentPrcb, KPCR, CurrentPrcb), - OFFSET(PcLockArray, KPCR, LockArray), - OFFSET(PcTeb, KPCR, Teb), - OFFSET(PcIdt, KPCR, Idt), - OFFSET(PcIrql, KPCR, Irql), - OFFSET(PcStallScaleFactor, KPCR, StallScaleFactor), - OFFSET(PcHalReserved, KPCR, HalReserved), - OFFSET(PcPrcb, KPCR, Prcb), - OFFSET(PcMxCsr, KPCR, MxCsr), - OFFSET(PcNumber, KPCR, Number), - OFFSET(PcInterruptRequest, KPCR, InterruptRequest), - OFFSET(PcIdleHalt, KPCR, IdleHalt), - OFFSET(PcCurrentThread, KPCR, CurrentThread), - OFFSET(PcNextThread, KPCR, NextThread), - OFFSET(PcIdleThread, KPCR, IdleThread), - OFFSET(PcIpiFrozen, KPCR, IpiFrozen), - OFFSET(PcNestingLevel, KPCR, NestingLevel), - OFFSET(PcRspBase, KPCR, RspBase), - OFFSET(PcPrcbLock, KPCR, PrcbLock), - OFFSET(PcSetMember, KPCR, SetMember), - OFFSET(PcCr0, KPCR, Cr0), - OFFSET(PcCr2, KPCR, Cr2), - OFFSET(PcCr3, KPCR, Cr3), - OFFSET(PcCr4, KPCR, Cr4), - OFFSET(PcKernelDr0, KPCR, KernelDr0), - OFFSET(PcKernelDr1, KPCR, KernelDr1), - OFFSET(PcKernelDr2, KPCR, KernelDr2), - OFFSET(PcKernelDr3, KPCR, KernelDr3), - OFFSET(PcKernelDr7, KPCR, KernelDr7), - OFFSET(PcGdtrLimit, KPCR, GdtrLimit), - OFFSET(PcGdtrBase, KPCR, GdtrBase), - OFFSET(PcIdtrLimit, KPCR, IdtrLimit), - OFFSET(PcIdtrBase, KPCR, IdtrBase), - OFFSET(PcTr, KPCR, Tr), - OFFSET(PcLdtr, KPCR, Ldtr), - OFFSET(PcDebugControl, KPCR, DebugControl), - OFFSET(PcLastBranchToRip, KPCR, LastBranchToRip), - OFFSET(PcLastBranchFromRip, KPCR, LastBranchFromRip), - OFFSET(PcLastExceptionToRip, KPCR, LastExceptionToRip), - OFFSET(PcLastExceptionFromRip, KPCR, LastExceptionFromRip), - OFFSET(PcCr8, KPCR, Cr8), - OFFSET(PcCpuType, KPCR, CpuType), - OFFSET(PcCpuID, KPCR, CpuID), - OFFSET(PcCpuStep, KPCR, CpuStep), - OFFSET(PcCpuVendor, KPCR, CpuVendor), - OFFSET(PcVirtualApicAssist, KPCR, VirtualApicAssist), - OFFSET(PcCFlushSize, KPCR, CFlushSize), - OFFSET(PcDeferredReadyListHead, KPCR, DeferredReadyListHead), - OFFSET(PcSystemCalls, KPCR, SystemCalls), - OFFSET(PcDpcRoutineActive, KPCR, DpcRoutineActive), - OFFSET(PcInterruptCount, KPCR, InterruptCount), - OFFSET(PcDebuggerSavedIRQL, KPCR, DebuggerSavedIRQL), - OFFSET(PcTickOffset, KPCR, TickOffset), - OFFSET(PcMasterOffset, KPCR, MasterOffset), - OFFSET(PcSkipTick, KPCR, SkipTick), - OFFSET(PcStartCycles, KPCR, StartCycles), - SIZE(ProcessorControlRegisterLength, KPCR), - - HEADER("KPROCESSOR_STATE"), - OFFSET(PsSpecialRegisters, KPROCESSOR_STATE, SpecialRegisters), - OFFSET(PsCr0, KPROCESSOR_STATE, Cr0), - OFFSET(PsCr2, KPROCESSOR_STATE, Cr2), - OFFSET(PsCr3, KPROCESSOR_STATE, Cr3), - OFFSET(PsCr4, KPROCESSOR_STATE, Cr4), - OFFSET(PsKernelDr0, KPROCESSOR_STATE, KernelDr0), - OFFSET(PsKernelDr1, KPROCESSOR_STATE, KernelDr1), - OFFSET(PsKernelDr2, KPROCESSOR_STATE, KernelDr2), - OFFSET(PsKernelDr3, KPROCESSOR_STATE, KernelDr3), - OFFSET(PsKernelDr6, KPROCESSOR_STATE, KernelDr6), - OFFSET(PsKernelDr7, KPROCESSOR_STATE, KernelDr7), - OFFSET(PsGdtr, KPROCESSOR_STATE, Gdtr), - OFFSET(PsIdtr, KPROCESSOR_STATE, Idtr), - OFFSET(PsTr, KPROCESSOR_STATE, Tr), - OFFSET(PsLdtr, KPROCESSOR_STATE, Ldtr), - OFFSET(PsMxCsr, KPROCESSOR_STATE, MxCsr), - OFFSET(PsContextFrame, KPROCESSOR_STATE, ContextFrame), - OFFSET(PsDebugControl, KPROCESSOR_STATE, DebugControl), - OFFSET(PsLastBranchToRip, KPROCESSOR_STATE, LastBranchToRip), - OFFSET(PsLastBranchFromRip, KPROCESSOR_STATE, LastBranchFromRip), - OFFSET(PsLastExceptionToRip, KPROCESSOR_STATE, LastExceptionToRip), - OFFSET(PsLastExceptionFromRip, KPROCESSOR_STATE, LastExceptionFromRip), - OFFSET(PsCr8, KPROCESSOR_STATE, Cr8), - SIZE(ProcessorStateLength, KPROCESSOR_STATE), - - HEADER("KSTART_FRAME"), - OFFSET(SfP1Home, KSTART_FRAME, P1Home), - OFFSET(SfP2Home, KSTART_FRAME, P2Home), - OFFSET(SfP3Home, KSTART_FRAME, P3Home), - OFFSET(SfP4Home, KSTART_FRAME, P4Home), - OFFSET(SfReturn, KSTART_FRAME, Return), - SIZE(KSTART_FRAME_LENGTH, KSTART_FRAME), - - HEADER("KSPECIAL_REGISTERS"), - OFFSET(SrKernelDr0, KSPECIAL_REGISTERS, KernelDr0), - OFFSET(SrKernelDr1, KSPECIAL_REGISTERS, KernelDr1), - OFFSET(SrKernelDr2, KSPECIAL_REGISTERS, KernelDr2), - OFFSET(SrKernelDr3, KSPECIAL_REGISTERS, KernelDr3), - OFFSET(SrKernelDr6, KSPECIAL_REGISTERS, KernelDr6), - OFFSET(SrKernelDr7, KSPECIAL_REGISTERS, KernelDr7), - OFFSET(SrGdtr, KSPECIAL_REGISTERS, Gdtr), - OFFSET(SrIdtr, KSPECIAL_REGISTERS, Idtr), - OFFSET(SrTr, KSPECIAL_REGISTERS, Tr), - OFFSET(SrMxCsr, KSPECIAL_REGISTERS, MxCsr), - OFFSET(SrMsrGsBase, KSPECIAL_REGISTERS, MsrGsBase), - OFFSET(SrMsrGsSwap, KSPECIAL_REGISTERS, MsrGsSwap), - OFFSET(SrMsrStar, KSPECIAL_REGISTERS, MsrStar), - OFFSET(SrMsrLStar, KSPECIAL_REGISTERS, MsrLStar), - OFFSET(SrMsrCStar, KSPECIAL_REGISTERS, MsrCStar), - OFFSET(SrMsrSyscallMask, KSPECIAL_REGISTERS, MsrSyscallMask), - - HEADER("KSYSTEM_TIME"), - OFFSET(StLowTime, KSYSTEM_TIME, LowTime), - OFFSET(StHigh1Time, KSYSTEM_TIME, High1Time), - OFFSET(StHigh2Time, KSYSTEM_TIME, High2Time), - - HEADER("KSWITCH_FRAME"), - OFFSET(SwP5Home, KSWITCH_FRAME, P5Home), - OFFSET(SwApcBypass, KSWITCH_FRAME, ApcBypass), - OFFSET(SwRbp, KSWITCH_FRAME, Rbp), - OFFSET(SwReturn, KSWITCH_FRAME, Return), - SIZE(SwitchFrameLength, KSWITCH_FRAME), - SIZE(KSWITCH_FRAME_LENGTH, KSWITCH_FRAME), - - HEADER("KTRAP_FRAME"), - OFFSET(TrP1Home, KTRAP_FRAME, P1Home), - OFFSET(TrP2Home, KTRAP_FRAME, P2Home), - OFFSET(TrP3Home, KTRAP_FRAME, P3Home), - OFFSET(TrP4Home, KTRAP_FRAME, P4Home), - OFFSET(TrP5, KTRAP_FRAME, P5), - OFFSET(TrPreviousMode, KTRAP_FRAME, PreviousMode), - OFFSET(TrPreviousIrql, KTRAP_FRAME, PreviousIrql), - OFFSET(TrFaultIndicator, KTRAP_FRAME, FaultIndicator), - OFFSET(TrExceptionActive, KTRAP_FRAME, ExceptionActive), - OFFSET(TrMxCsr, KTRAP_FRAME, MxCsr), - OFFSET(TrRax, KTRAP_FRAME, Rax), - OFFSET(TrRcx, KTRAP_FRAME, Rcx), - OFFSET(TrRdx, KTRAP_FRAME, Rdx), - OFFSET(TrR8, KTRAP_FRAME, R8), - OFFSET(TrR9, KTRAP_FRAME, R9), - OFFSET(TrR10, KTRAP_FRAME, R10), - OFFSET(TrR11, KTRAP_FRAME, R11), - OFFSET(TrGsBase, KTRAP_FRAME, GsBase), - OFFSET(TrGsSwap, KTRAP_FRAME,GsSwap), - OFFSET(TrXmm0, KTRAP_FRAME, Xmm0), - OFFSET(TrXmm1, KTRAP_FRAME, Xmm1), - OFFSET(TrXmm2, KTRAP_FRAME, Xmm2), - OFFSET(TrXmm3, KTRAP_FRAME, Xmm3), - OFFSET(TrXmm4, KTRAP_FRAME, Xmm4), - OFFSET(TrXmm5, KTRAP_FRAME, Xmm5), - OFFSET(TrFaultAddress, KTRAP_FRAME, FaultAddress), - OFFSET(TrTimeStampCKCL, KTRAP_FRAME, TimeStampCKCL), - OFFSET(TrDr0, KTRAP_FRAME, Dr0), - OFFSET(TrDr1, KTRAP_FRAME, Dr1), - OFFSET(TrDr2, KTRAP_FRAME, Dr2), - OFFSET(TrDr3, KTRAP_FRAME, Dr3), - OFFSET(TrDr6, KTRAP_FRAME, Dr6), - OFFSET(TrDr7, KTRAP_FRAME, Dr7), - OFFSET(TrDebugControl, KTRAP_FRAME, DebugControl), - OFFSET(TrLastBranchToRip, KTRAP_FRAME, LastBranchToRip), - OFFSET(TrLastBranchFromRip, KTRAP_FRAME, LastBranchFromRip), - OFFSET(TrLastExceptionToRip, KTRAP_FRAME, LastExceptionToRip), - OFFSET(TrLastExceptionFromRip, KTRAP_FRAME, LastExceptionFromRip), - OFFSET(TrLastBranchControl, KTRAP_FRAME, LastBranchControl), - OFFSET(TrLastBranchMSR, KTRAP_FRAME, LastBranchMSR), - OFFSET(TrSegDs, KTRAP_FRAME, SegDs), - OFFSET(TrSegEs, KTRAP_FRAME, SegEs), - OFFSET(TrSegFs, KTRAP_FRAME, SegFs), - OFFSET(TrSegGs, KTRAP_FRAME, SegGs), - OFFSET(TrTrapFrame, KTRAP_FRAME, TrapFrame), - OFFSET(TrRbx, KTRAP_FRAME, Rbx), - OFFSET(TrRdi, KTRAP_FRAME, Rdi), - OFFSET(TrRsi, KTRAP_FRAME, Rsi), - OFFSET(TrRbp, KTRAP_FRAME, Rbp), - OFFSET(TrErrorCode, KTRAP_FRAME, ErrorCode), - OFFSET(TrTimeStampKlog, KTRAP_FRAME, TimeStampKlog), - OFFSET(TrRip, KTRAP_FRAME, Rip), - OFFSET(TrSegCs, KTRAP_FRAME, SegCs), - OFFSET(TrLogging, KTRAP_FRAME, Logging), - OFFSET(TrEFlags, KTRAP_FRAME, EFlags), - OFFSET(TrRsp, KTRAP_FRAME, Rsp), - OFFSET(TrSegSs, KTRAP_FRAME, SegSs), - OFFSET(TrCodePatchCycle, KTRAP_FRAME, CodePatchCycle), - SIZE(KTRAP_FRAME_LENGTH, KTRAP_FRAME), - - HEADER("KTIMER_TABLE"), - OFFSET(TtEntry, KTIMER_TABLE, TimerEntries), - OFFSET(TtTime, KTIMER_TABLE, Time), - SIZE(TIMER_ENTRY_SIZE, KTIMER_ENTRY), - SIZE(TIMER_TABLE_SIZE, KTIMER_TABLE), - SIZE(KTIMER_TABLE_SIZE, KTIMER_TABLE), - - HEADER("KTSS"), - OFFSET(TssRsp0, TYPE, Rsp0), - OFFSET(TssRsp1, TYPE, Rsp1), - OFFSET(TssRsp2, TYPE, Rsp2), - OFFSET(TssPanicStack, TYPE, PanicStack), - OFFSET(TssMcaStack, TYPE, McaStack), - OFFSET(TssNmiStack, TYPE, NmiStack), - OFFSET(TssIoMapBase, TYPE, IoMapBase), - SIZE(TssLength, TYPE), - -#endif - - /* End of list */ - {-1, "", 0} -}; - diff --git a/reactos/tools/obj2bin/obj2bin.c b/reactos/tools/obj2bin/obj2bin.c index 34e596f48fb..07b07670338 100644 --- a/reactos/tools/obj2bin/obj2bin.c +++ b/reactos/tools/obj2bin/obj2bin.c @@ -52,7 +52,7 @@ RelocateSection( break; default: - printf("Unknown relocatation type %u, address 0x%x\n", + printf("Unknown relocation type %u, address 0x%x\n", pReloc->Type, (unsigned)pReloc->VirtualAddress); } From 9bda7700ff7698f262f3da2154ec86b435b45b76 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 16:58:03 +0000 Subject: [PATCH 014/120] [SETUP16/EXPLORER/LIBTIFF/DESK/ADVAPI32/MCIWAVE/SAMSRV/SHELL32/WINMM/LIBMPG123] Fix / silence warnings svn path=/trunk/; revision=63518 --- reactos/base/applications/setup16/main.c | 28 ++++++++++--------- reactos/base/shell/explorer/shell/shellfs.cpp | 2 +- .../shell/explorer/taskbar/quicklaunch.cpp | 4 +-- reactos/dll/3rdparty/libtiff/CMakeLists.txt | 1 + reactos/dll/cpl/desk/screensaver.c | 2 ++ reactos/dll/win32/advapi32/misc/shutdown.c | 6 ++-- reactos/dll/win32/mciwave/mciwave.c | 6 ++-- reactos/dll/win32/samsrv/samrpc.c | 4 +++ reactos/dll/win32/shell32/desktop.cpp | 5 ++-- reactos/dll/win32/shell32/shlexec.cpp | 12 ++++---- reactos/dll/win32/winmm/CMakeLists.txt | 4 +++ reactos/lib/3rdparty/libmpg123/CMakeLists.txt | 4 +++ 12 files changed, 50 insertions(+), 28 deletions(-) diff --git a/reactos/base/applications/setup16/main.c b/reactos/base/applications/setup16/main.c index 8c0ffe29052..fa3581970e3 100644 --- a/reactos/base/applications/setup16/main.c +++ b/reactos/base/applications/setup16/main.c @@ -13,6 +13,8 @@ static UINT WINAPI ExtCabCallback(PVOID Context, UINT Notification, UINT_PTR Par FILE_IN_CABINET_INFO_W *pInfo; FILEPATHS_W *pFilePaths; + DBG_UNREFERENCED_LOCAL_VARIABLE(pFilePaths); + switch(Notification) { case SPFILENOTIFY_FILEINCABINET: @@ -31,7 +33,7 @@ BOOL DeleteDirectory(LPWSTR lpszDir) { SHFILEOPSTRUCT fileop; DWORD len = wcslen(lpszDir); - WCHAR *pszFrom = HeapAlloc(GetProcessHeap(), 0, (len + 2) * sizeof(WCHAR)); + WCHAR *pszFrom = HeapAlloc(GetProcessHeap(), 0, (len + 2) * sizeof(WCHAR)); int ret; wcscpy(pszFrom, lpszDir); @@ -80,26 +82,26 @@ int APIENTRY wWinMain(HINSTANCE hInstance, STARTUPINFO startupInfo; UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(nCmdShow); - + GetCurrentDirectory(MAX_PATH, szSetupPath); wcscat(szSetupPath, L"\\"); wcscpy(szFileName, szSetupPath); wcscat(szFileName, L"setup.lst"); - + if (GetFileAttributes(szFileName) == INVALID_FILE_ATTRIBUTES) { MessageBoxW(0, L"Cannot find Setup.lst file", L"Error", MB_OK | MB_ICONERROR); return 1; } - + /* read information from setup.lst */ GetPrivateProfileStringW(NT_PARAMS, L"CabinetFile", NULL, szCabFileName, MAX_PATH, szFileName); GetPrivateProfileStringW(NT_PARAMS, L"TmpDirName", NULL, szTempDirName, 50, szFileName); GetPrivateProfileStringW(NT_PARAMS, L"CmdLine", NULL, szCmdLine, MAX_PATH, szFileName); - + wcscpy(szCabFilePath, szSetupPath); wcscat(szCabFilePath, szCabFileName); - + /* ceate temp directory */ GetSystemDrive(szDrive); wcscpy(szTempPath, szDrive); @@ -107,16 +109,16 @@ int APIENTRY wWinMain(HINSTANCE hInstance, wcscpy(szFullTempPath, szTempPath); wcscat(szFullTempPath, szTempDirName); wcscat(szFullTempPath, L"\\"); - + if (SHCreateDirectoryEx(0, szFullTempPath, NULL) != ERROR_SUCCESS) { MessageBoxW(0, L"Could not create Temp Directory.", L"Error", MB_OK | MB_ICONERROR); return 1; - } + } dwAttrib = GetFileAttributes(szTempPath); SetFileAttributes(szTempPath, dwAttrib | FILE_ATTRIBUTE_HIDDEN); - + /* extract files */ if (!SetupIterateCabinetW(szCabFilePath, 0, ExtCabCallback, szFullTempPath)) { @@ -124,12 +126,12 @@ int APIENTRY wWinMain(HINSTANCE hInstance, DeleteDirectory(szTempPath); return 1; } - + /* prepare command line */ wsprintf(szTempCmdLine, szCmdLine, szFullTempPath, lpCmdLine); wcscpy(szCmdLine, szFullTempPath); wcscat(szCmdLine, szTempCmdLine); - + /* execute the 32-Bit installer */ ZeroMemory(&processInfo, sizeof(processInfo)); ZeroMemory(&startupInfo, sizeof(startupInfo)); @@ -148,10 +150,10 @@ int APIENTRY wWinMain(HINSTANCE hInstance, DeleteDirectory(szTempPath); return 1; } - + /* cleanup */ DeleteDirectory(szTempPath); - + return 0; } diff --git a/reactos/base/shell/explorer/shell/shellfs.cpp b/reactos/base/shell/explorer/shell/shellfs.cpp index d1115a2e27d..1243a0d0055 100644 --- a/reactos/base/shell/explorer/shell/shellfs.cpp +++ b/reactos/base/shell/explorer/shell/shellfs.cpp @@ -40,7 +40,7 @@ bool ShellDirectory::fill_w32fdata_shell(LPCITEMIDLIST pidl, SFGAOF attribs, WIN IDataObject* pDataObj; STGMEDIUM medium = {0, {0}, 0}; - FORMATETC fmt = {g_Globals._cfStrFName, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + FORMATETC fmt = {(USHORT)g_Globals._cfStrFName, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; HRESULT hr = _folder->GetUIObjectOf(0, 1, &pidl, IID_IDataObject, 0, (LPVOID*)&pDataObj); diff --git a/reactos/base/shell/explorer/taskbar/quicklaunch.cpp b/reactos/base/shell/explorer/taskbar/quicklaunch.cpp index 015dbd5d43a..fb9984d7890 100644 --- a/reactos/base/shell/explorer/taskbar/quicklaunch.cpp +++ b/reactos/base/shell/explorer/taskbar/quicklaunch.cpp @@ -184,7 +184,7 @@ void QuickLaunchBar::AddButton(int id, HBITMAP hbmp, LPCTSTR name, Entry* entry, _entries[id] = qle; - TBBUTTON btn = {0, 0, flags, BTNS_BUTTON|BTNS_NOPREFIX, {0, 0}, 0, 0}; + TBBUTTON btn = {0, 0, (BYTE)flags, BTNS_BUTTON|BTNS_NOPREFIX, {0, 0}, 0, 0}; btn.idCommand = id; btn.iBitmap = bmp_idx; @@ -195,7 +195,7 @@ void QuickLaunchBar::AddButton(int id, HBITMAP hbmp, LPCTSTR name, Entry* entry, void QuickLaunchBar::UpdateDesktopButtons(int desktop_idx) { for(int i=0; inUseCount++; - wmw->wInput = wmw->wOutput = WAVE_MAPPER; + wmw->wInput = wmw->wOutput = (WORD)WAVE_MAPPER; wmw->fInput = FALSE; wmw->hWave = 0; wmw->dwStatus = MCI_MODE_NOT_READY; @@ -1371,13 +1371,13 @@ static DWORD WAVE_mciSet(MCIDEVICEID wDevID, DWORD dwFlags, LPMCI_WAVE_SET_PARMS TRACE("MCI_WAVE_SET_ANYINPUT\n"); if (wmw->wInput != (WORD)lpParms->wInput) WAVE_mciStop(wDevID, MCI_WAIT, NULL); - wmw->wInput = WAVE_MAPPER; + wmw->wInput = (WORD)WAVE_MAPPER; } if (dwFlags & MCI_WAVE_SET_ANYOUTPUT) { TRACE("MCI_WAVE_SET_ANYOUTPUT\n"); if (wmw->wOutput != (WORD)lpParms->wOutput) WAVE_mciStop(wDevID, MCI_WAIT, NULL); - wmw->wOutput = WAVE_MAPPER; + wmw->wOutput = (WORD)WAVE_MAPPER; } /* Set wave format parameters is refused after Open or Record.*/ if (dwFlags & MCI_WAVE_SET_FORMATTAG) { diff --git a/reactos/dll/win32/samsrv/samrpc.c b/reactos/dll/win32/samsrv/samrpc.c index 9bf30752883..6c0335bc930 100644 --- a/reactos/dll/win32/samsrv/samrpc.c +++ b/reactos/dll/win32/samsrv/samrpc.c @@ -8062,6 +8062,10 @@ SamrChangePasswordUser(IN SAMPR_HANDLE UserHandle, LARGE_INTEGER SystemTime; NTSTATUS Status; + DBG_UNREFERENCED_LOCAL_VARIABLE(StoredLmPresent); + DBG_UNREFERENCED_LOCAL_VARIABLE(StoredNtPresent); + DBG_UNREFERENCED_LOCAL_VARIABLE(StoredLmEmpty); + TRACE("(%p %u %p %p %u %p %p %u %p %u %p)\n", UserHandle, LmPresent, OldLmEncryptedWithNewLm, NewLmEncryptedWithOldLm, NtPresent, OldNtEncryptedWithNewNt, NewNtEncryptedWithOldNt, NtCrossEncryptionPresent, diff --git a/reactos/dll/win32/shell32/desktop.cpp b/reactos/dll/win32/shell32/desktop.cpp index cc0b8d8808d..a4afb60f03f 100644 --- a/reactos/dll/win32/shell32/desktop.cpp +++ b/reactos/dll/win32/shell32/desktop.cpp @@ -261,8 +261,8 @@ HRESULT STDMETHODCALLTYPE CDesktopBrowser::TranslateAcceleratorSB(LPMSG lpmsg, W HRESULT STDMETHODCALLTYPE CDesktopBrowser::BrowseObject(LPCITEMIDLIST pidl, UINT wFlags) { - /* - * We should use IShellWindows interface here in order to attempt to + /* + * We should use IShellWindows interface here in order to attempt to * find an open shell window that shows the requested pidl and activate it */ @@ -422,6 +422,7 @@ LRESULT CALLBACK CDesktopBrowser::ProgmanWindowProc(IN HWND hwnd, IN UINT uMsg, rcDesktop.bottom = GetSystemMetrics(SM_CYVIRTUALSCREEN); /* FIXME: Update work area */ + DBG_UNREFERENCED_LOCAL_VARIABLE(rcDesktop); } break; diff --git a/reactos/dll/win32/shell32/shlexec.cpp b/reactos/dll/win32/shell32/shlexec.cpp index 76929844d6a..41bae156ee3 100644 --- a/reactos/dll/win32/shell32/shlexec.cpp +++ b/reactos/dll/win32/shell32/shlexec.cpp @@ -460,7 +460,7 @@ static UINT_PTR SHELL_ExecuteW(const WCHAR *lpCmd, WCHAR *env, BOOL shWait, startup.wShowWindow = psei->nShow; dwCreationFlags = CREATE_UNICODE_ENVIRONMENT; if (!(psei->fMask & SEE_MASK_NO_CONSOLE)) - dwCreationFlags |= CREATE_NEW_CONSOLE; + dwCreationFlags |= CREATE_NEW_CONSOLE; startup.lpTitle = (LPWSTR)(psei->fMask & (SEE_MASK_HASLINKNAME | SEE_MASK_HASTITLE) ? psei->lpClass : NULL); if (psei->fMask & SEE_MASK_HASLINKNAME) @@ -733,7 +733,7 @@ static UINT SHELL_FindExecutable(LPCWSTR lpPath, LPCWSTR lpFile, LPCWSTR lpVerb, lpFile = xlpFile; /* The file was found in one of the directories in the system-wide search path */ } - + attribs = GetFileAttributesW(lpFile); if (attribs != INVALID_FILE_ATTRIBUTES && (attribs & FILE_ATTRIBUTE_DIRECTORY)) { @@ -994,7 +994,7 @@ static unsigned dde_connect(const WCHAR* key, const WCHAR* start, WCHAR* ddeexec assert(ptr); *ptr = 0; } - + static const WCHAR wTopic[] = L"\\topic"; if (strlenW(wTopic) + 1 > endkeyLen) { @@ -1491,7 +1491,7 @@ static UINT_PTR SHELL_execute_class(LPCWSTR wszApplicationName, LPSHELLEXECUTEIN DWORD resultLen; BOOL done; UINT_PTR rslt; - + /* FIXME: remove following block when SHELL_quote_and_execute supports hkeyClass parameter */ if (cmask != SEE_MASK_CLASSNAME) { @@ -1522,7 +1522,7 @@ static UINT_PTR SHELL_execute_class(LPCWSTR wszApplicationName, LPSHELLEXECUTEIN ERR("Argify buffer not large enough... truncating\n"); return execfunc(wcmd, NULL, FALSE, psei, psei_out); } - + strcpyW(classname, psei->lpClass); rslt = SHELL_FindExecutableByVerb(psei->lpVerb, NULL, classname, execCmd, sizeof(execCmd)); @@ -1835,6 +1835,7 @@ static BOOL SHELL_execute(LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfunc) Info.oaifInFlags = OAIF_ALLOW_REGISTRATION | OAIF_EXEC; //if (SHOpenWithDialog(sei_tmp.hwnd, &Info) != S_OK) + DBG_UNREFERENCED_LOCAL_VARIABLE(Info); do_error_dialog(retval, sei_tmp.hwnd, wszApplicationName); } HeapFree(GetProcessHeap(), 0, wszApplicationName); @@ -2070,6 +2071,7 @@ static BOOL SHELL_execute(LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfunc) Info.oaifInFlags = OAIF_ALLOW_REGISTRATION | OAIF_EXEC; //if (SHOpenWithDialog(sei_tmp.hwnd, &Info) != S_OK) + DBG_UNREFERENCED_LOCAL_VARIABLE(Info); do_error_dialog(retval, sei_tmp.hwnd, wszApplicationName); } diff --git a/reactos/dll/win32/winmm/CMakeLists.txt b/reactos/dll/win32/winmm/CMakeLists.txt index 507427c6829..6123003f1ca 100644 --- a/reactos/dll/win32/winmm/CMakeLists.txt +++ b/reactos/dll/win32/winmm/CMakeLists.txt @@ -28,3 +28,7 @@ add_importlibs(winmm advapi32 user32 msvcrt kernel32 ntdll) add_pch(winmm winemm.h SOURCE) add_subdirectory(midimap) add_cd_file(TARGET winmm DESTINATION reactos/system32 FOR all) + +if(NOT MSVC) + add_target_compile_flags(winmm "-Wno-unused-but-set-variable") +endif() diff --git a/reactos/lib/3rdparty/libmpg123/CMakeLists.txt b/reactos/lib/3rdparty/libmpg123/CMakeLists.txt index 9a9b11a90fe..3731927f62e 100644 --- a/reactos/lib/3rdparty/libmpg123/CMakeLists.txt +++ b/reactos/lib/3rdparty/libmpg123/CMakeLists.txt @@ -44,3 +44,7 @@ list(APPEND SOURCE add_library(libmpg123 ${SOURCE}) add_dependencies(libmpg123 psdk) add_pch(libmpg123 precomp.h SOURCE) + +if(NOT MSVC) + add_target_compile_flags(libmpg123 "-Wno-unused-but-set-variable") +endif() From 6cfa5d2e250f5fe2105dcfd3d65c404172d30608 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 20:43:41 +0000 Subject: [PATCH 015/120] [W32KDLL] Update ros syscall list from trunk, remove obsolete files svn path=/trunk/; revision=63519 --- .../w32kdll/w32kdll_2k3sp2/w32k_2k3sp2-x86.db | 668 --- .../w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.S | 4665 ----------------- .../w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.def | 673 --- .../w32kdll/w32kdll_ros/w32kdll_ros.def | 678 --- .../w32kdll/w32kdll_ros/w32kdll_ros.spec | 5 +- .../w32kdll/w32kdll_ros/win32ksvc-ros.h | 15 +- 6 files changed, 7 insertions(+), 6697 deletions(-) delete mode 100644 rostests/apitests/w32kdll/w32kdll_2k3sp2/w32k_2k3sp2-x86.db delete mode 100644 rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.S delete mode 100644 rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.def delete mode 100644 rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.def diff --git a/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32k_2k3sp2-x86.db b/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32k_2k3sp2-x86.db deleted file mode 100644 index 8808dec397f..00000000000 --- a/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32k_2k3sp2-x86.db +++ /dev/null @@ -1,668 +0,0 @@ -# -# win32k systemcalls taken from Windows 2003 SP2 x86 -# -NtGdiAbortDoc 1 -NtGdiAbortPath 1 -NtGdiAddFontResourceW 6 -NtGdiAddRemoteFontToDC 4 -NtGdiAddFontMemResourceEx 5 -NtGdiRemoveMergeFont 2 -NtGdiAddRemoteMMInstanceToDC 3 -NtGdiAlphaBlend 12 -NtGdiAngleArc 6 -NtGdiAnyLinkedFonts 0 -NtGdiFontIsLinked 1 -NtGdiArcInternal 10 -NtGdiBeginPath 1 -NtGdiBitBlt 11 -NtGdiCancelDC 1 -NtGdiCheckBitmapBits 8 -NtGdiCloseFigure 1 -NtGdiClearBitmapAttributes 2 -NtGdiClearBrushAttributes 2 -NtGdiColorCorrectPalette 6 -NtGdiCombineRgn 4 -NtGdiCombineTransform 3 -NtGdiComputeXformCoefficients 1 -NtGdiConsoleTextOut 4 -NtGdiConvertMetafileRect 2 -NtGdiCreateBitmap 5 -NtGdiCreateClientObj 1 -NtGdiCreateColorSpace 1 -NtGdiCreateColorTransform 8 -NtGdiCreateCompatibleBitmap 3 -NtGdiCreateCompatibleDC 1 -NtGdiCreateDIBBrush 6 -NtGdiCreateDIBitmapInternal 11 -NtGdiCreateDIBSection 9 -NtGdiCreateEllipticRgn 4 -NtGdiCreateHalftonePalette 1 -NtGdiCreateHatchBrushInternal 3 -NtGdiCreateMetafileDC 1 -NtGdiCreatePaletteInternal 2 -NtGdiCreatePatternBrushInternal 3 -NtGdiCreatePen 4 -NtGdiCreateRectRgn 4 -NtGdiCreateRoundRectRgn 6 -NtGdiCreateServerMetaFile 6 -NtGdiCreateSolidBrush 2 -NtGdiD3dContextCreate 4 -NtGdiD3dContextDestroy 1 -NtGdiD3dContextDestroyAll 1 -NtGdiD3dValidateTextureStageState 1 -NtGdiD3dDrawPrimitives2 7 -NtGdiDdGetDriverState 1 -NtGdiDdAddAttachedSurface 3 -NtGdiDdAlphaBlt 3 -NtGdiDdAttachSurface 2 -NtGdiDdBeginMoCompFrame 2 -NtGdiDdBlt 3 -NtGdiDdCanCreateSurface 2 -NtGdiDdCanCreateD3DBuffer 2 -NtGdiDdColorControl 2 -NtGdiDdCreateDirectDrawObject 1 -NtGdiDdCreateSurface 8 -NtGdiDdCreateD3DBuffer 8 -NtGdiDdCreateMoComp 2 -NtGdiDdCreateSurfaceObject 6 -NtGdiDdDeleteDirectDrawObject 1 -NtGdiDdDeleteSurfaceObject 1 -NtGdiDdDestroyMoComp 2 -NtGdiDdDestroySurface 2 -NtGdiDdDestroyD3DBuffer 1 -NtGdiDdEndMoCompFrame 2 -NtGdiDdFlip 5 -NtGdiDdFlipToGDISurface 2 -NtGdiDdGetAvailDriverMemory 2 -NtGdiDdGetBltStatus 2 -NtGdiDdGetDC 2 -NtGdiDdGetDriverInfo 2 -NtGdiDdGetDxHandle 3 -NtGdiDdGetFlipStatus 2 -NtGdiDdGetInternalMoCompInfo 2 -NtGdiDdGetMoCompBuffInfo 2 -NtGdiDdGetMoCompGuids 2 -NtGdiDdGetMoCompFormats 2 -NtGdiDdGetScanLine 2 -NtGdiDdLock 3 -NtGdiDdLockD3D 2 -NtGdiDdQueryDirectDrawObject 11 -NtGdiDdQueryMoCompStatus 2 -NtGdiDdReenableDirectDrawObject 2 -NtGdiDdReleaseDC 1 -NtGdiDdRenderMoComp 2 -NtGdiDdResetVisrgn 2 -NtGdiDdSetColorKey 2 -NtGdiDdSetExclusiveMode 2 -NtGdiDdSetGammaRamp 3 -NtGdiDdCreateSurfaceEx 3 -NtGdiDdSetOverlayPosition 3 -NtGdiDdUnattachSurface 2 -NtGdiDdUnlock 2 -NtGdiDdUnlockD3D 2 -NtGdiDdUpdateOverlay 3 -NtGdiDdWaitForVerticalBlank 2 -NtGdiDvpCanCreateVideoPort 2 -NtGdiDvpColorControl 2 -NtGdiDvpCreateVideoPort 2 -NtGdiDvpDestroyVideoPort 2 -NtGdiDvpFlipVideoPort 4 -NtGdiDvpGetVideoPortBandwidth 2 -NtGdiDvpGetVideoPortField 2 -NtGdiDvpGetVideoPortFlipStatus 2 -NtGdiDvpGetVideoPortInputFormats 2 -NtGdiDvpGetVideoPortLine 2 -NtGdiDvpGetVideoPortOutputFormats 2 -NtGdiDvpGetVideoPortConnectInfo 2 -NtGdiDvpGetVideoSignalStatus 2 -NtGdiDvpUpdateVideoPort 4 -NtGdiDvpWaitForVideoPortSync 2 -NtGdiDvpAcquireNotification 3 -NtGdiDvpReleaseNotification 2 -NtGdiDxgGenericThunk 6 -NtGdiDeleteClientObj 1 -NtGdiDeleteColorSpace 1 -NtGdiDeleteColorTransform 2 -NtGdiDeleteObjectApp 1 -NtGdiDescribePixelFormat 4 -NtGdiGetPerBandInfo 2 -NtGdiDoBanding 4 -NtGdiDoPalette 6 -NtGdiDrawEscape 4 -NtGdiEllipse 5 -NtGdiEnableEudc 1 -NtGdiEndDoc 1 -NtGdiEndPage 1 -NtGdiEndPath 1 -NtGdiEnumFontChunk 5 -NtGdiEnumFontClose 1 -NtGdiEnumFontOpen 7 -NtGdiEnumObjects 4 -NtGdiEqualRgn 2 -NtGdiEudcLoadUnloadLink 7 -NtGdiExcludeClipRect 5 -NtGdiExtCreatePen 11 -NtGdiExtCreateRegion 3 -NtGdiExtEscape 8 -NtGdiExtFloodFill 5 -NtGdiExtGetObjectW 3 -NtGdiExtSelectClipRgn 3 -NtGdiExtTextOutW 9 -NtGdiFillPath 1 -NtGdiFillRgn 3 -NtGdiFlattenPath 1 -NtGdiFlush 0 -NtGdiForceUFIMapping 2 -NtGdiFrameRgn 5 -NtGdiFullscreenControl 5 -NtGdiGetAndSetDCDword 4 -NtGdiGetAppClipBox 2 -NtGdiGetBitmapBits 3 -NtGdiGetBitmapDimension 2 -NtGdiGetBoundsRect 3 -NtGdiGetCharABCWidthsW 6 -NtGdiGetCharacterPlacementW 6 -NtGdiGetCharSet 1 -NtGdiGetCharWidthW 6 -NtGdiGetCharWidthInfo 2 -NtGdiGetColorAdjustment 2 -NtGdiGetColorSpaceforBitmap 1 -NtGdiGetDCDword 3 -NtGdiGetDCforBitmap 1 -NtGdiGetDCObject 2 -NtGdiGetDCPoint 3 -NtGdiGetDeviceCaps 2 -NtGdiGetDeviceGammaRamp 2 -NtGdiGetDeviceCapsAll 2 -NtGdiGetDIBitsInternal 9 -NtGdiGetETM 2 -NtGdiGetEudcTimeStampEx 3 -NtGdiGetFontData 5 -NtGdiGetFontResourceInfoInternalW 7 -NtGdiGetGlyphIndicesW 5 -NtGdiGetGlyphIndicesWInternal 6 -NtGdiGetGlyphOutline 8 -NtGdiGetKerningPairs 3 -NtGdiGetLinkedUFIs 3 -NtGdiGetMiterLimit 2 -NtGdiGetMonitorID 3 -NtGdiGetNearestColor 2 -NtGdiGetNearestPaletteIndex 2 -NtGdiGetObjectBitmapHandle 2 -NtGdiGetOutlineTextMetricsInternalW 4 -NtGdiGetPath 4 -NtGdiGetPixel 3 -NtGdiGetRandomRgn 3 -NtGdiGetRasterizerCaps 2 -NtGdiGetRealizationInfo 3 -NtGdiGetRegionData 3 -NtGdiGetRgnBox 2 -NtGdiGetServerMetaFileBits 7 -NtGdiGetSpoolMessage 4 -NtGdiGetStats 5 -NtGdiGetStockObject 1 -NtGdiGetStringBitmapW 5 -NtGdiGetSystemPaletteUse 1 -NtGdiGetTextCharsetInfo 3 -NtGdiGetTextExtent 5 -NtGdiGetTextExtentExW 8 -NtGdiGetTextFaceW 4 -NtGdiGetTextMetricsW 3 -NtGdiGetTransform 3 -NtGdiGetUFI 6 -NtGdiGetEmbUFI 7 -NtGdiGetUFIPathname 10 -NtGdiGetEmbedFonts 0 -NtGdiChangeGhostFont 2 -NtGdiAddEmbFontToDC 2 -NtGdiGetFontUnicodeRanges 2 -NtGdiGetWidthTable 7 -NtGdiGradientFill 6 -NtGdiHfontCreate 5 -NtGdiIcmBrushInfo 8 -NtGdiInit 0 -NtGdiInitSpool 0 -NtGdiIntersectClipRect 5 -NtGdiInvertRgn 2 -NtGdiLineTo 3 -NtGdiMakeFontDir 5 -NtGdiMakeInfoDC 2 -NtGdiMaskBlt 13 -NtGdiModifyWorldTransform 3 -NtGdiMonoBitmap 1 -NtGdiMoveTo 4 -NtGdiOffsetClipRgn 3 -NtGdiOffsetRgn 3 -NtGdiOpenDCW 7 -NtGdiPatBlt 6 -NtGdiPolyPatBlt 5 -NtGdiPathToRegion 1 -NtGdiPlgBlt 11 -NtGdiPolyDraw 4 -NtGdiPolyPolyDraw 5 -NtGdiPolyTextOutW 4 -NtGdiPtInRegion 3 -NtGdiPtVisible 3 -NtGdiQueryFonts 3 -NtGdiQueryFontAssocInfo 1 -NtGdiRectangle 5 -NtGdiRectInRegion 2 -NtGdiRectVisible 2 -NtGdiRemoveFontResourceW 6 -NtGdiRemoveFontMemResourceEx 1 -NtGdiResetDC 5 -NtGdiResizePalette 2 -NtGdiRestoreDC 2 -NtGdiRoundRect 7 -NtGdiSaveDC 1 -NtGdiScaleViewportExtEx 6 -NtGdiScaleWindowExtEx 6 -GreSelectBitmap 2 -NtGdiSelectBrush 2 -NtGdiSelectClipPath 2 -NtGdiSelectFont 2 -NtGdiSelectPen 2 -NtGdiSetBitmapAttributes 2 -NtGdiSetBitmapBits 3 -NtGdiSetBitmapDimension 4 -NtGdiSetBoundsRect 3 -NtGdiSetBrushAttributes 2 -NtGdiSetBrushOrg 4 -NtGdiSetColorAdjustment 2 -NtGdiSetColorSpace 2 -NtGdiSetDeviceGammaRamp 2 -NtGdiSetDIBitsToDeviceInternal 16 -NtGdiSetFontEnumeration 1 -NtGdiSetFontXform 3 -NtGdiSetIcmMode 3 -NtGdiSetLinkedUFIs 3 -NtGdiSetMagicColors 3 -NtGdiSetMetaRgn 1 -NtGdiSetMiterLimit 3 -NtGdiGetDeviceWidth 1 -NtGdiMirrorWindowOrg 1 -NtGdiSetLayout 3 -NtGdiSetPixel 4 -NtGdiSetPixelFormat 2 -NtGdiSetRectRgn 5 -NtGdiSetSystemPaletteUse 2 -NtGdiSetTextJustification 3 -NtGdiSetupPublicCFONT 3 -NtGdiSetVirtualResolution 5 -NtGdiSetSizeDevice 3 -NtGdiStartDoc 4 -NtGdiStartPage 1 -NtGdiStretchBlt 12 -NtGdiStretchDIBitsInternal 16 -NtGdiStrokeAndFillPath 1 -NtGdiStrokePath 1 -NtGdiSwapBuffers 1 -NtGdiTransformPoints 5 -NtGdiTransparentBlt 11 -NtGdiUnloadPrinterDriver 2 -NtGdiUnmapMemFont 1 -NtGdiUnrealizeObject 1 -NtGdiUpdateColors 1 -NtGdiWidenPath 1 -NtUserActivateKeyboardLayout 2 -NtUserAlterWindowStyle 3 -NtUserAssociateInputContext 3 -NtUserAttachThreadInput 3 -NtUserBeginPaint 2 -NtUserBitBltSysBmp 8 -NtUserBlockInput 1 -NtUserBuildHimcList 4 -NtUserBuildHwndList 7 -NtUserBuildNameList 4 -NtUserBuildPropList 4 -NtUserCallHwnd 2 -NtUserCallHwndLock 2 -NtUserCallHwndOpt 2 -NtUserCallHwndParam 3 -NtUserCallHwndParamLock 3 -NtUserCallMsgFilter 2 -NtUserCallNextHookEx 4 -NtUserCallNoParam 1 -NtUserCallOneParam 2 -NtUserCallTwoParam 3 -NtUserChangeClipboardChain 2 -NtUserChangeDisplaySettings 4 -NtUserCheckImeHotKey 2 -NtUserCheckMenuItem 3 -NtUserChildWindowFromPointEx 4 -NtUserClipCursor 1 -NtUserCloseClipboard 0 -NtUserCloseDesktop 1 -NtUserCloseWindowStation 1 -NtUserConsoleControl 3 -NtUserConvertMemHandle 2 -NtUserCopyAcceleratorTable 3 -NtUserCountClipboardFormats 0 -NtUserCreateAcceleratorTable 2 -NtUserCreateCaret 4 -NtUserCreateDesktop 5 -NtUserCreateInputContext 1 -NtUserCreateLocalMemHandle 4 -NtUserCreateWindowEx 15 -NtUserCreateWindowStation 7 -NtUserDdeGetQualityOfService 3 -NtUserDdeInitialize 5 -NtUserDdeSetQualityOfService 3 -NtUserDeferWindowPos 8 -NtUserDefSetText 2 -NtUserDeleteMenu 3 -NtUserDestroyAcceleratorTable 1 -NtUserDestroyCursor 2 -NtUserDestroyInputContext 1 -NtUserDestroyMenu 1 -NtUserDestroyWindow 1 -NtUserDisableThreadIme 1 -NtUserDispatchMessage 1 -NtUserDragDetect 3 -NtUserDragObject 5 -NtUserDrawAnimatedRects 4 -NtUserDrawCaption 4 -NtUserDrawCaptionTemp 7 -NtUserDrawIconEx 11 -NtUserDrawMenuBarTemp 5 -NtUserEmptyClipboard 0 -NtUserEnableMenuItem 3 -NtUserEnableScrollBar 3 -NtUserEndDeferWindowPosEx 2 -NtUserEndMenu 0 -NtUserEndPaint 2 -NtUserEnumDisplayDevices 4 -NtUserEnumDisplayMonitors 4 -NtUserEnumDisplaySettings 4 -NtUserEvent 1 -NtUserExcludeUpdateRgn 2 -NtUserFillWindow 4 -NtUserFindExistingCursorIcon 3 -NtUserFindWindowEx 5 -NtUserFlashWindowEx 1 -NtUserGetAltTabInfo 6 -NtUserGetAncestor 2 -NtUserGetAppImeLevel 1 -NtUserGetAsyncKeyState 1 -NtUserGetAtomName 2 -NtUserGetCaretBlinkTime 0 -NtUserGetCaretPos 1 -NtUserGetClassInfoEx 5 -NtUserGetClassName 3 -NtUserGetClipboardData 2 -NtUserGetClipboardFormatName 3 -NtUserGetClipboardOwner 0 -NtUserGetClipboardSequenceNumber 0 -NtUserGetClipboardViewer 0 -NtUserGetClipCursor 1 -NtUserGetComboBoxInfo 2 -NtUserGetControlBrush 3 -NtUserGetControlColor 4 -NtUserGetCPD 3 -NtUserGetCursorFrameInfo 4 -NtUserGetCursorInfo 1 -NtUserGetDC 1 -NtUserGetDCEx 3 -NtUserGetDoubleClickTime 0 -NtUserGetForegroundWindow 0 -NtUserGetGuiResources 2 -NtUserGetGUIThreadInfo 2 -NtUserGetIconInfo 6 -NtUserGetIconSize 4 -NtUserGetImeHotKey 4 -NtUserGetImeInfoEx 2 -NtUserGetInternalWindowPos 3 -NtUserGetKeyboardLayoutList 2 -NtUserGetKeyboardLayoutName 1 -NtUserGetKeyboardState 1 -NtUserGetKeyNameText 3 -NtUserGetKeyState 1 -NtUserGetListBoxInfo 1 -NtUserGetMenuBarInfo 4 -NtUserGetMenuIndex 2 -NtUserGetMenuItemRect 4 -NtUserGetMessage 4 -NtUserGetMouseMovePointsEx 5 -NtUserGetObjectInformation 5 -NtUserGetOpenClipboardWindow 0 -NtUserGetPriorityClipboardFormat 2 -NtUserGetProcessWindowStation 0 -NtUserGetRawInputBuffer 3 -NtUserGetRawInputData 5 -NtUserGetRawInputDeviceInfo 4 -NtUserGetRawInputDeviceList 3 -NtUserGetRegisteredRawInputDevices 3 -NtUserGetScrollBarInfo 3 -NtUserGetSystemMenu 2 -NtUserGetThreadDesktop 2 -NtUserGetThreadState 1 -NtUserGetTitleBarInfo 2 -NtUserGetUpdateRect 3 -NtUserGetUpdateRgn 3 -NtUserGetWindowDC 1 -NtUserGetWindowPlacement 2 -NtUserGetWOWClass 2 -NtUserHardErrorControl 3 -NtUserHideCaret 1 -NtUserHiliteMenuItem 4 -NtUserImpersonateDdeClientWindow 2 -NtUserInitialize 3 -NtUserInitializeClientPfnArrays 4 -NtUserInitTask 12 -NtUserInternalGetWindowText 3 -NtUserInvalidateRect 3 -NtUserInvalidateRgn 3 -NtUserIsClipboardFormatAvailable 1 -NtUserKillTimer 2 -NtUserLoadKeyboardLayoutEx 7 -NtUserLockWindowStation 1 -NtUserLockWindowUpdate 1 -NtUserLockWorkStation 0 -NtUserMapVirtualKeyEx 4 -NtUserMenuItemFromPoint 4 -NtUserMessageCall 7 -NtUserMinMaximize 3 -NtUserMNDragLeave 0 -NtUserMNDragOver 2 -NtUserModifyUserStartupInfoFlags 2 -NtUserMoveWindow 6 -NtUserNotifyIMEStatus 3 -NtUserNotifyProcessCreate 4 -NtUserNotifyWinEvent 4 -NtUserOpenClipboard 2 -NtUserOpenDesktop 3 -NtUserOpenInputDesktop 3 -NtUserOpenWindowStation 2 -NtUserPaintDesktop 1 -NtUserPeekMessage 5 -NtUserPostMessage 4 -NtUserPostThreadMessage 4 -NtUserPrintWindow 3 -NtUserProcessConnect 3 -NtUserQueryInformationThread 4 -NtUserQueryInputContext 2 -NtUserQuerySendMessage 1 -NtUserQueryWindow 2 -NtUserRealChildWindowFromPoint 3 -NtUserRealInternalGetMessage 6 -NtUserRealWaitMessageEx 2 -NtUserRedrawWindow 4 -NtUserRegisterClassExWOW 7 -NtUserRegisterUserApiHook 4 -NtUserRegisterHotKey 4 -NtUserRegisterRawInputDevices 3 -NtUserRegisterTasklist 1 -NtUserRegisterWindowMessage 1 -NtUserRemoveMenu 3 -NtUserRemoveProp 2 -NtUserResolveDesktop 4 -NtUserResolveDesktopForWOW 1 -NtUserSBGetParms 4 -NtUserScrollDC 7 -NtUserScrollWindowEx 8 -NtUserSelectPalette 3 -NtUserSendInput 3 -NtUserSetActiveWindow 1 -NtUserSetAppImeLevel 2 -NtUserSetCapture 1 -NtUserSetClassLong 4 -NtUserSetClassWord 3 -NtUserSetClipboardData 3 -NtUserSetClipboardViewer 1 -NtUserSetConsoleReserveKeys 2 -NtUserSetCursor 1 -NtUserSetCursorContents 2 -NtUserSetCursorIconData 4 -NtUserSetFocus 1 -NtUserSetImeHotKey 5 -NtUserSetImeInfoEx 1 -NtUserSetImeOwnerWindow 2 -NtUserSetInformationProcess 4 -NtUserSetInformationThread 4 -NtUserSetInternalWindowPos 4 -NtUserSetKeyboardState 1 -NtUserSetLogonNotifyWindow 1 -NtUserSetMenu 3 -NtUserSetMenuContextHelpId 2 -NtUserSetMenuDefaultItem 3 -NtUserSetMenuFlagRtoL 1 -NtUserSetObjectInformation 4 -NtUserSetParent 2 -NtUserSetProcessWindowStation 1 -NtUserSetProp 3 -NtUserSetScrollInfo 4 -NtUserSetShellWindowEx 2 -NtUserSetSysColors 4 -NtUserSetSystemCursor 2 -NtUserSetSystemMenu 2 -NtUserSetSystemTimer 4 -NtUserSetThreadDesktop 1 -NtUserSetThreadLayoutHandles 2 -NtUserSetThreadState 2 -NtUserSetTimer 4 -NtUserSetWindowFNID 2 -NtUserSetWindowLong 4 -NtUserSetWindowPlacement 2 -NtUserSetWindowPos 7 -NtUserSetWindowRgn 3 -NtUserSetWindowsHookAW 3 -NtUserSetWindowsHookEx 6 -NtUserSetWindowStationUser 4 -NtUserSetWindowWord 3 -NtUserSetWinEventHook 8 -NtUserShowCaret 1 -NtUserShowScrollBar 3 -NtUserShowWindow 2 -NtUserShowWindowAsync 2 -NtUserSoundSentry 0 -NtUserSwitchDesktop 1 -NtUserSystemParametersInfo 4 -NtUserTestForInteractiveUser 1 -NtUserThunkedMenuInfo 2 -NtUserThunkedMenuItemInfo 6 -NtUserToUnicodeEx 7 -NtUserTrackMouseEvent 1 -NtUserTrackPopupMenuEx 6 -NtUserCalcMenuBar 5 -NtUserPaintMenuBar 6 -NtUserTranslateAccelerator 3 -NtUserTranslateMessage 2 -NtUserUnhookWindowsHookEx 1 -NtUserUnhookWinEvent 1 -NtUserUnloadKeyboardLayout 1 -NtUserUnlockWindowStation 1 -NtUserUnregisterClass 3 -NtUserUnregisterUserApiHook 0 -NtUserUnregisterHotKey 2 -NtUserUpdateInputContext 3 -NtUserUpdateInstance 3 -NtUserUpdateLayeredWindow 10 -NtUserGetLayeredWindowAttributes 4 -NtUserSetLayeredWindowAttributes 4 -NtUserUpdatePerUserSystemParameters 2 -NtUserUserHandleGrantAccess 3 -NtUserValidateHandleSecure 1 -NtUserValidateRect 2 -NtUserValidateTimerCallback 1 -NtUserVkKeyScanEx 3 -NtUserWaitForInputIdle 3 -NtUserWaitForMsgAndEvent 1 -NtUserWaitMessage 0 -NtUserWin32PoolAllocationStats 6 -NtUserWindowFromPoint 2 -NtUserYieldTask 0 -NtUserRemoteConnect 3 -NtUserRemoteRedrawRectangle 4 -NtUserRemoteRedrawScreen 0 -NtUserRemoteStopScreenUpdates 0 -NtUserCtxDisplayIOCtl 3 -NtGdiEngAssociateSurface 3 -NtGdiEngCreateBitmap 6 -NtGdiEngCreateDeviceSurface 4 -NtGdiEngCreateDeviceBitmap 4 -NtGdiEngCreatePalette 6 -NtGdiEngComputeGlyphSet 3 -NtGdiEngCopyBits 6 -NtGdiEngDeletePalette 1 -NtGdiEngDeleteSurface 1 -NtGdiEngEraseSurface 3 -NtGdiEngUnlockSurface 1 -NtGdiEngLockSurface 1 -NtGdiEngBitBlt 11 -NtGdiEngStretchBlt 11 -NtGdiEngPlgBlt 11 -NtGdiEngMarkBandingSurface 1 -NtGdiEngStrokePath 8 -NtGdiEngFillPath 7 -NtGdiEngStrokeAndFillPath 10 -NtGdiEngPaint 5 -NtGdiEngLineTo 9 -NtGdiEngAlphaBlend 7 -NtGdiEngGradientFill 10 -NtGdiEngTransparentBlt 8 -NtGdiEngTextOut 10 -NtGdiEngStretchBltROP 13 -NtGdiXLATEOBJ_cGetPalette 4 -NtGdiXLATEOBJ_iXlate 2 -NtGdiXLATEOBJ_hGetColorTransform 1 -NtGdiCLIPOBJ_bEnum 3 -NtGdiCLIPOBJ_cEnumStart 5 -NtGdiCLIPOBJ_ppoGetPath 1 -NtGdiEngDeletePath 1 -NtGdiEngCreateClip 0 -NtGdiEngDeleteClip 1 -NtGdiBRUSHOBJ_ulGetBrushColor 1 -NtGdiBRUSHOBJ_pvAllocRbrush 2 -NtGdiBRUSHOBJ_pvGetRbrush 1 -NtGdiBRUSHOBJ_hGetColorTransform 1 -NtGdiXFORMOBJ_bApplyXform 5 -NtGdiXFORMOBJ_iGetXform 2 -NtGdiFONTOBJ_vGetInfo 3 -NtGdiFONTOBJ_pxoGetXform 1 -NtGdiFONTOBJ_cGetGlyphs 5 -NtGdiFONTOBJ_pifi 1 -NtGdiFONTOBJ_pfdg 1 -NtGdiFONTOBJ_pQueryGlyphAttrs 2 -NtGdiFONTOBJ_pvTrueTypeFontFile 2 -NtGdiFONTOBJ_cGetAllGlyphHandles 2 -NtGdiSTROBJ_bEnum 3 -NtGdiSTROBJ_bEnumPositionsOnly 3 -NtGdiSTROBJ_bGetAdvanceWidths 4 -NtGdiSTROBJ_vEnumStart 1 -NtGdiSTROBJ_dwGetCodePage 1 -NtGdiPATHOBJ_vGetBounds 2 -NtGdiPATHOBJ_bEnum 2 -NtGdiPATHOBJ_vEnumStart 1 -NtGdiPATHOBJ_vEnumStartClipLines 4 -NtGdiPATHOBJ_bEnumClipLines 3 -NtGdiGetDhpdev 1 -NtGdiEngCheckAbort 1 -NtGdiHT_Get8BPPFormatPalette 4 -NtGdiHT_Get8BPPMaskPalette 6 -NtGdiUpdateTransform 1 -NtGdiSetPUMPDOBJ 4 -NtGdiBRUSHOBJ_DeleteRbrush 2 -NtGdiUnmapMemFont 1 -NtGdiDrawStream 3 -NtGdiMakeObjectXferable 2 -NtGdiMakeObjectUnXferable 1 diff --git a/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.S b/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.S deleted file mode 100644 index 0206219b29c..00000000000 --- a/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.S +++ /dev/null @@ -1,4665 +0,0 @@ -/* FILE: System Call Stubs for Native API - * COPYRIGHT: See COPYING in the top level directory - * PURPOSE: obj-i386\lib\win32ksys\win32k.S - * PROGRAMMER: Computer Generated File. See tools/nci/ncitool.c - * REMARK: DO NOT EDIT OR COMMIT MODIFICATIONS TO THIS FILE - */ - - -#include - -.global _NtGdiAbortDoc@4 -_NtGdiAbortDoc@4: - movl $0x1000, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiAbortPath@4 -_NtGdiAbortPath@4: - movl $0x1001, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiAddFontResourceW@24 -_NtGdiAddFontResourceW@24: - movl $0x1002, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiAddRemoteFontToDC@16 -_NtGdiAddRemoteFontToDC@16: - movl $0x1003, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiAddFontMemResourceEx@20 -_NtGdiAddFontMemResourceEx@20: - movl $0x1004, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiRemoveMergeFont@8 -_NtGdiRemoveMergeFont@8: - movl $0x1005, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiAddRemoteMMInstanceToDC@12 -_NtGdiAddRemoteMMInstanceToDC@12: - movl $0x1006, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiAlphaBlend@48 -_NtGdiAlphaBlend@48: - movl $0x1007, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x30 - -.global _NtGdiAngleArc@24 -_NtGdiAngleArc@24: - movl $0x1008, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiAnyLinkedFonts@0 -_NtGdiAnyLinkedFonts@0: - movl $0x1009, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtGdiFontIsLinked@4 -_NtGdiFontIsLinked@4: - movl $0x100a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiArcInternal@40 -_NtGdiArcInternal@40: - movl $0x100b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x28 - -.global _NtGdiBeginPath@4 -_NtGdiBeginPath@4: - movl $0x100c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiBitBlt@44 -_NtGdiBitBlt@44: - movl $0x100d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiCancelDC@4 -_NtGdiCancelDC@4: - movl $0x100e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiCheckBitmapBits@32 -_NtGdiCheckBitmapBits@32: - movl $0x100f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiCloseFigure@4 -_NtGdiCloseFigure@4: - movl $0x1010, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiClearBitmapAttributes@8 -_NtGdiClearBitmapAttributes@8: - movl $0x1011, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiClearBrushAttributes@8 -_NtGdiClearBrushAttributes@8: - movl $0x1012, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiColorCorrectPalette@24 -_NtGdiColorCorrectPalette@24: - movl $0x1013, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiCombineRgn@16 -_NtGdiCombineRgn@16: - movl $0x1014, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiCombineTransform@12 -_NtGdiCombineTransform@12: - movl $0x1015, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiComputeXformCoefficients@4 -_NtGdiComputeXformCoefficients@4: - movl $0x1016, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiConsoleTextOut@16 -_NtGdiConsoleTextOut@16: - movl $0x1017, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiConvertMetafileRect@8 -_NtGdiConvertMetafileRect@8: - movl $0x1018, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiCreateBitmap@20 -_NtGdiCreateBitmap@20: - movl $0x1019, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiCreateClientObj@4 -_NtGdiCreateClientObj@4: - movl $0x101a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiCreateColorSpace@4 -_NtGdiCreateColorSpace@4: - movl $0x101b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiCreateColorTransform@32 -_NtGdiCreateColorTransform@32: - movl $0x101c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiCreateCompatibleBitmap@12 -_NtGdiCreateCompatibleBitmap@12: - movl $0x101d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiCreateCompatibleDC@4 -_NtGdiCreateCompatibleDC@4: - movl $0x101e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiCreateDIBBrush@24 -_NtGdiCreateDIBBrush@24: - movl $0x101f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiCreateDIBitmapInternal@44 -_NtGdiCreateDIBitmapInternal@44: - movl $0x1020, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiCreateDIBSection@36 -_NtGdiCreateDIBSection@36: - movl $0x1021, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x24 - -.global _NtGdiCreateEllipticRgn@16 -_NtGdiCreateEllipticRgn@16: - movl $0x1022, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiCreateHalftonePalette@4 -_NtGdiCreateHalftonePalette@4: - movl $0x1023, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiCreateHatchBrushInternal@12 -_NtGdiCreateHatchBrushInternal@12: - movl $0x1024, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiCreateMetafileDC@4 -_NtGdiCreateMetafileDC@4: - movl $0x1025, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiCreatePaletteInternal@8 -_NtGdiCreatePaletteInternal@8: - movl $0x1026, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiCreatePatternBrushInternal@12 -_NtGdiCreatePatternBrushInternal@12: - movl $0x1027, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiCreatePen@16 -_NtGdiCreatePen@16: - movl $0x1028, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiCreateRectRgn@16 -_NtGdiCreateRectRgn@16: - movl $0x1029, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiCreateRoundRectRgn@24 -_NtGdiCreateRoundRectRgn@24: - movl $0x102a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiCreateServerMetaFile@24 -_NtGdiCreateServerMetaFile@24: - movl $0x102b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiCreateSolidBrush@8 -_NtGdiCreateSolidBrush@8: - movl $0x102c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiD3dContextCreate@16 -_NtGdiD3dContextCreate@16: - movl $0x102d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiD3dContextDestroy@4 -_NtGdiD3dContextDestroy@4: - movl $0x102e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiD3dContextDestroyAll@4 -_NtGdiD3dContextDestroyAll@4: - movl $0x102f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiD3dValidateTextureStageState@4 -_NtGdiD3dValidateTextureStageState@4: - movl $0x1030, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiD3dDrawPrimitives2@28 -_NtGdiD3dDrawPrimitives2@28: - movl $0x1031, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiDdGetDriverState@4 -_NtGdiDdGetDriverState@4: - movl $0x1032, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDdAddAttachedSurface@12 -_NtGdiDdAddAttachedSurface@12: - movl $0x1033, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdAlphaBlt@12 -_NtGdiDdAlphaBlt@12: - movl $0x1034, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdAttachSurface@8 -_NtGdiDdAttachSurface@8: - movl $0x1035, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdBeginMoCompFrame@8 -_NtGdiDdBeginMoCompFrame@8: - movl $0x1036, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdBlt@12 -_NtGdiDdBlt@12: - movl $0x1037, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdCanCreateSurface@8 -_NtGdiDdCanCreateSurface@8: - movl $0x1038, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdCanCreateD3DBuffer@8 -_NtGdiDdCanCreateD3DBuffer@8: - movl $0x1039, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdColorControl@8 -_NtGdiDdColorControl@8: - movl $0x103a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdCreateDirectDrawObject@4 -_NtGdiDdCreateDirectDrawObject@4: - movl $0x103b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDdCreateSurface@32 -_NtGdiDdCreateSurface@32: - movl $0x103c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiDdCreateD3DBuffer@32 -_NtGdiDdCreateD3DBuffer@32: - movl $0x103d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiDdCreateMoComp@8 -_NtGdiDdCreateMoComp@8: - movl $0x103e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdCreateSurfaceObject@24 -_NtGdiDdCreateSurfaceObject@24: - movl $0x103f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiDdDeleteDirectDrawObject@4 -_NtGdiDdDeleteDirectDrawObject@4: - movl $0x1040, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDdDeleteSurfaceObject@4 -_NtGdiDdDeleteSurfaceObject@4: - movl $0x1041, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDdDestroyMoComp@8 -_NtGdiDdDestroyMoComp@8: - movl $0x1042, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdDestroySurface@8 -_NtGdiDdDestroySurface@8: - movl $0x1043, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdDestroyD3DBuffer@4 -_NtGdiDdDestroyD3DBuffer@4: - movl $0x1044, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDdEndMoCompFrame@8 -_NtGdiDdEndMoCompFrame@8: - movl $0x1045, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdFlip@20 -_NtGdiDdFlip@20: - movl $0x1046, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiDdFlipToGDISurface@8 -_NtGdiDdFlipToGDISurface@8: - movl $0x1047, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetAvailDriverMemory@8 -_NtGdiDdGetAvailDriverMemory@8: - movl $0x1048, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetBltStatus@8 -_NtGdiDdGetBltStatus@8: - movl $0x1049, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetDC@8 -_NtGdiDdGetDC@8: - movl $0x104a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetDriverInfo@8 -_NtGdiDdGetDriverInfo@8: - movl $0x104b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetDxHandle@12 -_NtGdiDdGetDxHandle@12: - movl $0x104c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdGetFlipStatus@8 -_NtGdiDdGetFlipStatus@8: - movl $0x104d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetInternalMoCompInfo@8 -_NtGdiDdGetInternalMoCompInfo@8: - movl $0x104e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetMoCompBuffInfo@8 -_NtGdiDdGetMoCompBuffInfo@8: - movl $0x104f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetMoCompGuids@8 -_NtGdiDdGetMoCompGuids@8: - movl $0x1050, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetMoCompFormats@8 -_NtGdiDdGetMoCompFormats@8: - movl $0x1051, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdGetScanLine@8 -_NtGdiDdGetScanLine@8: - movl $0x1052, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdLock@12 -_NtGdiDdLock@12: - movl $0x1053, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdLockD3D@8 -_NtGdiDdLockD3D@8: - movl $0x1054, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdQueryDirectDrawObject@44 -_NtGdiDdQueryDirectDrawObject@44: - movl $0x1055, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiDdQueryMoCompStatus@8 -_NtGdiDdQueryMoCompStatus@8: - movl $0x1056, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdReenableDirectDrawObject@8 -_NtGdiDdReenableDirectDrawObject@8: - movl $0x1057, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdReleaseDC@4 -_NtGdiDdReleaseDC@4: - movl $0x1058, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDdRenderMoComp@8 -_NtGdiDdRenderMoComp@8: - movl $0x1059, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdResetVisrgn@8 -_NtGdiDdResetVisrgn@8: - movl $0x105a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdSetColorKey@8 -_NtGdiDdSetColorKey@8: - movl $0x105b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdSetExclusiveMode@8 -_NtGdiDdSetExclusiveMode@8: - movl $0x105c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdSetGammaRamp@12 -_NtGdiDdSetGammaRamp@12: - movl $0x105d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdCreateSurfaceEx@12 -_NtGdiDdCreateSurfaceEx@12: - movl $0x105e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdSetOverlayPosition@12 -_NtGdiDdSetOverlayPosition@12: - movl $0x105f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdUnattachSurface@8 -_NtGdiDdUnattachSurface@8: - movl $0x1060, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdUnlock@8 -_NtGdiDdUnlock@8: - movl $0x1061, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdUnlockD3D@8 -_NtGdiDdUnlockD3D@8: - movl $0x1062, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDdUpdateOverlay@12 -_NtGdiDdUpdateOverlay@12: - movl $0x1063, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDdWaitForVerticalBlank@8 -_NtGdiDdWaitForVerticalBlank@8: - movl $0x1064, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpCanCreateVideoPort@8 -_NtGdiDvpCanCreateVideoPort@8: - movl $0x1065, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpColorControl@8 -_NtGdiDvpColorControl@8: - movl $0x1066, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpCreateVideoPort@8 -_NtGdiDvpCreateVideoPort@8: - movl $0x1067, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpDestroyVideoPort@8 -_NtGdiDvpDestroyVideoPort@8: - movl $0x1068, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpFlipVideoPort@16 -_NtGdiDvpFlipVideoPort@16: - movl $0x1069, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiDvpGetVideoPortBandwidth@8 -_NtGdiDvpGetVideoPortBandwidth@8: - movl $0x106a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpGetVideoPortField@8 -_NtGdiDvpGetVideoPortField@8: - movl $0x106b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpGetVideoPortFlipStatus@8 -_NtGdiDvpGetVideoPortFlipStatus@8: - movl $0x106c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpGetVideoPortInputFormats@8 -_NtGdiDvpGetVideoPortInputFormats@8: - movl $0x106d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpGetVideoPortLine@8 -_NtGdiDvpGetVideoPortLine@8: - movl $0x106e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpGetVideoPortOutputFormats@8 -_NtGdiDvpGetVideoPortOutputFormats@8: - movl $0x106f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpGetVideoPortConnectInfo@8 -_NtGdiDvpGetVideoPortConnectInfo@8: - movl $0x1070, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpGetVideoSignalStatus@8 -_NtGdiDvpGetVideoSignalStatus@8: - movl $0x1071, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpUpdateVideoPort@16 -_NtGdiDvpUpdateVideoPort@16: - movl $0x1072, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiDvpWaitForVideoPortSync@8 -_NtGdiDvpWaitForVideoPortSync@8: - movl $0x1073, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDvpAcquireNotification@12 -_NtGdiDvpAcquireNotification@12: - movl $0x1074, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiDvpReleaseNotification@8 -_NtGdiDvpReleaseNotification@8: - movl $0x1075, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDxgGenericThunk@24 -_NtGdiDxgGenericThunk@24: - movl $0x1076, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiDeleteClientObj@4 -_NtGdiDeleteClientObj@4: - movl $0x1077, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDeleteColorSpace@4 -_NtGdiDeleteColorSpace@4: - movl $0x1078, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDeleteColorTransform@8 -_NtGdiDeleteColorTransform@8: - movl $0x1079, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDeleteObjectApp@4 -_NtGdiDeleteObjectApp@4: - movl $0x107a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDescribePixelFormat@16 -_NtGdiDescribePixelFormat@16: - movl $0x107b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiGetPerBandInfo@8 -_NtGdiGetPerBandInfo@8: - movl $0x107c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiDoBanding@16 -_NtGdiDoBanding@16: - movl $0x107d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiDoPalette@24 -_NtGdiDoPalette@24: - movl $0x107e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiDrawEscape@16 -_NtGdiDrawEscape@16: - movl $0x107f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiEllipse@20 -_NtGdiEllipse@20: - movl $0x1080, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiEnableEudc@4 -_NtGdiEnableEudc@4: - movl $0x1081, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEndDoc@4 -_NtGdiEndDoc@4: - movl $0x1082, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEndPage@4 -_NtGdiEndPage@4: - movl $0x1083, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEndPath@4 -_NtGdiEndPath@4: - movl $0x1084, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEnumFontChunk@20 -_NtGdiEnumFontChunk@20: - movl $0x1085, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiEnumFontClose@4 -_NtGdiEnumFontClose@4: - movl $0x1086, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEnumFontOpen@28 -_NtGdiEnumFontOpen@28: - movl $0x1087, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiEnumObjects@16 -_NtGdiEnumObjects@16: - movl $0x1088, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiEqualRgn@8 -_NtGdiEqualRgn@8: - movl $0x1089, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiEudcLoadUnloadLink@28 -_NtGdiEudcLoadUnloadLink@28: - movl $0x108a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiExcludeClipRect@20 -_NtGdiExcludeClipRect@20: - movl $0x108b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiExtCreatePen@44 -_NtGdiExtCreatePen@44: - movl $0x108c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiExtCreateRegion@12 -_NtGdiExtCreateRegion@12: - movl $0x108d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiExtEscape@32 -_NtGdiExtEscape@32: - movl $0x108e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiExtFloodFill@20 -_NtGdiExtFloodFill@20: - movl $0x108f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiExtGetObjectW@12 -_NtGdiExtGetObjectW@12: - movl $0x1090, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiExtSelectClipRgn@12 -_NtGdiExtSelectClipRgn@12: - movl $0x1091, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiExtTextOutW@36 -_NtGdiExtTextOutW@36: - movl $0x1092, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x24 - -.global _NtGdiFillPath@4 -_NtGdiFillPath@4: - movl $0x1093, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiFillRgn@12 -_NtGdiFillRgn@12: - movl $0x1094, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiFlattenPath@4 -_NtGdiFlattenPath@4: - movl $0x1095, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiFlush@0 -_NtGdiFlush@0: - movl $0x1096, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtGdiForceUFIMapping@8 -_NtGdiForceUFIMapping@8: - movl $0x1097, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiFrameRgn@20 -_NtGdiFrameRgn@20: - movl $0x1098, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiFullscreenControl@20 -_NtGdiFullscreenControl@20: - movl $0x1099, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiGetAndSetDCDword@16 -_NtGdiGetAndSetDCDword@16: - movl $0x109a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiGetAppClipBox@8 -_NtGdiGetAppClipBox@8: - movl $0x109b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetBitmapBits@12 -_NtGdiGetBitmapBits@12: - movl $0x109c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetBitmapDimension@8 -_NtGdiGetBitmapDimension@8: - movl $0x109d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetBoundsRect@12 -_NtGdiGetBoundsRect@12: - movl $0x109e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetCharABCWidthsW@24 -_NtGdiGetCharABCWidthsW@24: - movl $0x109f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiGetCharacterPlacementW@24 -_NtGdiGetCharacterPlacementW@24: - movl $0x10a0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiGetCharSet@4 -_NtGdiGetCharSet@4: - movl $0x10a1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiGetCharWidthW@24 -_NtGdiGetCharWidthW@24: - movl $0x10a2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiGetCharWidthInfo@8 -_NtGdiGetCharWidthInfo@8: - movl $0x10a3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetColorAdjustment@8 -_NtGdiGetColorAdjustment@8: - movl $0x10a4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetColorSpaceforBitmap@4 -_NtGdiGetColorSpaceforBitmap@4: - movl $0x10a5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiGetDCDword@12 -_NtGdiGetDCDword@12: - movl $0x10a6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetDCforBitmap@4 -_NtGdiGetDCforBitmap@4: - movl $0x10a7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiGetDCObject@8 -_NtGdiGetDCObject@8: - movl $0x10a8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetDCPoint@12 -_NtGdiGetDCPoint@12: - movl $0x10a9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetDeviceCaps@8 -_NtGdiGetDeviceCaps@8: - movl $0x10aa, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetDeviceGammaRamp@8 -_NtGdiGetDeviceGammaRamp@8: - movl $0x10ab, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetDeviceCapsAll@8 -_NtGdiGetDeviceCapsAll@8: - movl $0x10ac, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetDIBitsInternal@36 -_NtGdiGetDIBitsInternal@36: - movl $0x10ad, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x24 - -.global _NtGdiGetETM@8 -_NtGdiGetETM@8: - movl $0x10ae, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetEudcTimeStampEx@12 -_NtGdiGetEudcTimeStampEx@12: - movl $0x10af, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetFontData@20 -_NtGdiGetFontData@20: - movl $0x10b0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiGetFontResourceInfoInternalW@28 -_NtGdiGetFontResourceInfoInternalW@28: - movl $0x10b1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiGetGlyphIndicesW@20 -_NtGdiGetGlyphIndicesW@20: - movl $0x10b2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiGetGlyphIndicesWInternal@24 -_NtGdiGetGlyphIndicesWInternal@24: - movl $0x10b3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiGetGlyphOutline@32 -_NtGdiGetGlyphOutline@32: - movl $0x10b4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiGetKerningPairs@12 -_NtGdiGetKerningPairs@12: - movl $0x10b5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetLinkedUFIs@12 -_NtGdiGetLinkedUFIs@12: - movl $0x10b6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetMiterLimit@8 -_NtGdiGetMiterLimit@8: - movl $0x10b7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetMonitorID@12 -_NtGdiGetMonitorID@12: - movl $0x10b8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetNearestColor@8 -_NtGdiGetNearestColor@8: - movl $0x10b9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetNearestPaletteIndex@8 -_NtGdiGetNearestPaletteIndex@8: - movl $0x10ba, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetObjectBitmapHandle@8 -_NtGdiGetObjectBitmapHandle@8: - movl $0x10bb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetOutlineTextMetricsInternalW@16 -_NtGdiGetOutlineTextMetricsInternalW@16: - movl $0x10bc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiGetPath@16 -_NtGdiGetPath@16: - movl $0x10bd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiGetPixel@12 -_NtGdiGetPixel@12: - movl $0x10be, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetRandomRgn@12 -_NtGdiGetRandomRgn@12: - movl $0x10bf, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetRasterizerCaps@8 -_NtGdiGetRasterizerCaps@8: - movl $0x10c0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetRealizationInfo@12 -_NtGdiGetRealizationInfo@12: - movl $0x10c1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetRegionData@12 -_NtGdiGetRegionData@12: - movl $0x10c2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetRgnBox@8 -_NtGdiGetRgnBox@8: - movl $0x10c3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetServerMetaFileBits@28 -_NtGdiGetServerMetaFileBits@28: - movl $0x10c4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiGetSpoolMessage@16 -_NtGdiGetSpoolMessage@16: - movl $0x10c5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiGetStats@20 -_NtGdiGetStats@20: - movl $0x10c6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiGetStockObject@4 -_NtGdiGetStockObject@4: - movl $0x10c7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiGetStringBitmapW@20 -_NtGdiGetStringBitmapW@20: - movl $0x10c8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiGetSystemPaletteUse@4 -_NtGdiGetSystemPaletteUse@4: - movl $0x10c9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiGetTextCharsetInfo@12 -_NtGdiGetTextCharsetInfo@12: - movl $0x10ca, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetTextExtent@20 -_NtGdiGetTextExtent@20: - movl $0x10cb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiGetTextExtentExW@32 -_NtGdiGetTextExtentExW@32: - movl $0x10cc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiGetTextFaceW@16 -_NtGdiGetTextFaceW@16: - movl $0x10cd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiGetTextMetricsW@12 -_NtGdiGetTextMetricsW@12: - movl $0x10ce, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetTransform@12 -_NtGdiGetTransform@12: - movl $0x10cf, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetUFI@24 -_NtGdiGetUFI@24: - movl $0x10d0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiGetEmbUFI@28 -_NtGdiGetEmbUFI@28: - movl $0x10d1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiGetUFIPathname@40 -_NtGdiGetUFIPathname@40: - movl $0x10d2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x28 - -.global _NtGdiGetEmbedFonts@0 -_NtGdiGetEmbedFonts@0: - movl $0x10d3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtGdiChangeGhostFont@8 -_NtGdiChangeGhostFont@8: - movl $0x10d4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiAddEmbFontToDC@8 -_NtGdiAddEmbFontToDC@8: - movl $0x10d5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetFontUnicodeRanges@8 -_NtGdiGetFontUnicodeRanges@8: - movl $0x10d6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiGetWidthTable@28 -_NtGdiGetWidthTable@28: - movl $0x10d7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiGradientFill@24 -_NtGdiGradientFill@24: - movl $0x10d8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiHfontCreate@20 -_NtGdiHfontCreate@20: - movl $0x10d9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiIcmBrushInfo@32 -_NtGdiIcmBrushInfo@32: - movl $0x10da, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiInit@0 -_NtGdiInit@0: - movl $0x10db, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtGdiInitSpool@0 -_NtGdiInitSpool@0: - movl $0x10dc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtGdiIntersectClipRect@20 -_NtGdiIntersectClipRect@20: - movl $0x10dd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiInvertRgn@8 -_NtGdiInvertRgn@8: - movl $0x10de, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiLineTo@12 -_NtGdiLineTo@12: - movl $0x10df, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiMakeFontDir@20 -_NtGdiMakeFontDir@20: - movl $0x10e0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiMakeInfoDC@8 -_NtGdiMakeInfoDC@8: - movl $0x10e1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiMaskBlt@52 -_NtGdiMaskBlt@52: - movl $0x10e2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x34 - -.global _NtGdiModifyWorldTransform@12 -_NtGdiModifyWorldTransform@12: - movl $0x10e3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiMonoBitmap@4 -_NtGdiMonoBitmap@4: - movl $0x10e4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiMoveTo@16 -_NtGdiMoveTo@16: - movl $0x10e5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiOffsetClipRgn@12 -_NtGdiOffsetClipRgn@12: - movl $0x10e6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiOffsetRgn@12 -_NtGdiOffsetRgn@12: - movl $0x10e7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiOpenDCW@28 -_NtGdiOpenDCW@28: - movl $0x10e8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiPatBlt@24 -_NtGdiPatBlt@24: - movl $0x10e9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiPolyPatBlt@20 -_NtGdiPolyPatBlt@20: - movl $0x10ea, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiPathToRegion@4 -_NtGdiPathToRegion@4: - movl $0x10eb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiPlgBlt@44 -_NtGdiPlgBlt@44: - movl $0x10ec, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiPolyDraw@16 -_NtGdiPolyDraw@16: - movl $0x10ed, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiPolyPolyDraw@20 -_NtGdiPolyPolyDraw@20: - movl $0x10ee, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiPolyTextOutW@16 -_NtGdiPolyTextOutW@16: - movl $0x10ef, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiPtInRegion@12 -_NtGdiPtInRegion@12: - movl $0x10f0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiPtVisible@12 -_NtGdiPtVisible@12: - movl $0x10f1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiQueryFonts@12 -_NtGdiQueryFonts@12: - movl $0x10f2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiQueryFontAssocInfo@4 -_NtGdiQueryFontAssocInfo@4: - movl $0x10f3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiRectangle@20 -_NtGdiRectangle@20: - movl $0x10f4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiRectInRegion@8 -_NtGdiRectInRegion@8: - movl $0x10f5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiRectVisible@8 -_NtGdiRectVisible@8: - movl $0x10f6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiRemoveFontResourceW@24 -_NtGdiRemoveFontResourceW@24: - movl $0x10f7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiRemoveFontMemResourceEx@4 -_NtGdiRemoveFontMemResourceEx@4: - movl $0x10f8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiResetDC@20 -_NtGdiResetDC@20: - movl $0x10f9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiResizePalette@8 -_NtGdiResizePalette@8: - movl $0x10fa, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiRestoreDC@8 -_NtGdiRestoreDC@8: - movl $0x10fb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiRoundRect@28 -_NtGdiRoundRect@28: - movl $0x10fc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiSaveDC@4 -_NtGdiSaveDC@4: - movl $0x10fd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiScaleViewportExtEx@24 -_NtGdiScaleViewportExtEx@24: - movl $0x10fe, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiScaleWindowExtEx@24 -_NtGdiScaleWindowExtEx@24: - movl $0x10ff, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiSelectBitmap@8 -_NtGdiSelectBitmap@8: - movl $0x1100, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSelectBrush@8 -_NtGdiSelectBrush@8: - movl $0x1101, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSelectClipPath@8 -_NtGdiSelectClipPath@8: - movl $0x1102, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSelectFont@8 -_NtGdiSelectFont@8: - movl $0x1103, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSelectPen@8 -_NtGdiSelectPen@8: - movl $0x1104, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetBitmapAttributes@8 -_NtGdiSetBitmapAttributes@8: - movl $0x1105, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetBitmapBits@12 -_NtGdiSetBitmapBits@12: - movl $0x1106, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetBitmapDimension@16 -_NtGdiSetBitmapDimension@16: - movl $0x1107, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiSetBoundsRect@12 -_NtGdiSetBoundsRect@12: - movl $0x1108, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetBrushAttributes@8 -_NtGdiSetBrushAttributes@8: - movl $0x1109, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetBrushOrg@16 -_NtGdiSetBrushOrg@16: - movl $0x110a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiSetColorAdjustment@8 -_NtGdiSetColorAdjustment@8: - movl $0x110b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetColorSpace@8 -_NtGdiSetColorSpace@8: - movl $0x110c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetDeviceGammaRamp@8 -_NtGdiSetDeviceGammaRamp@8: - movl $0x110d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetDIBitsToDeviceInternal@64 -_NtGdiSetDIBitsToDeviceInternal@64: - movl $0x110e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x40 - -.global _NtGdiSetFontEnumeration@4 -_NtGdiSetFontEnumeration@4: - movl $0x110f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiSetFontXform@12 -_NtGdiSetFontXform@12: - movl $0x1110, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetIcmMode@12 -_NtGdiSetIcmMode@12: - movl $0x1111, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetLinkedUFIs@12 -_NtGdiSetLinkedUFIs@12: - movl $0x1112, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetMagicColors@12 -_NtGdiSetMagicColors@12: - movl $0x1113, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetMetaRgn@4 -_NtGdiSetMetaRgn@4: - movl $0x1114, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiSetMiterLimit@12 -_NtGdiSetMiterLimit@12: - movl $0x1115, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetDeviceWidth@4 -_NtGdiGetDeviceWidth@4: - movl $0x1116, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiMirrorWindowOrg@4 -_NtGdiMirrorWindowOrg@4: - movl $0x1117, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiSetLayout@12 -_NtGdiSetLayout@12: - movl $0x1118, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetPixel@16 -_NtGdiSetPixel@16: - movl $0x1119, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiSetPixelFormat@8 -_NtGdiSetPixelFormat@8: - movl $0x111a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetRectRgn@20 -_NtGdiSetRectRgn@20: - movl $0x111b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiSetSystemPaletteUse@8 -_NtGdiSetSystemPaletteUse@8: - movl $0x111c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSetTextJustification@12 -_NtGdiSetTextJustification@12: - movl $0x111d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetupPublicCFONT@12 -_NtGdiSetupPublicCFONT@12: - movl $0x111e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSetVirtualResolution@20 -_NtGdiSetVirtualResolution@20: - movl $0x111f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiSetSizeDevice@12 -_NtGdiSetSizeDevice@12: - movl $0x1120, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiStartDoc@16 -_NtGdiStartDoc@16: - movl $0x1121, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiStartPage@4 -_NtGdiStartPage@4: - movl $0x1122, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiStretchBlt@48 -_NtGdiStretchBlt@48: - movl $0x1123, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x30 - -.global _NtGdiStretchDIBitsInternal@64 -_NtGdiStretchDIBitsInternal@64: - movl $0x1124, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x40 - -.global _NtGdiStrokeAndFillPath@4 -_NtGdiStrokeAndFillPath@4: - movl $0x1125, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiStrokePath@4 -_NtGdiStrokePath@4: - movl $0x1126, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiSwapBuffers@4 -_NtGdiSwapBuffers@4: - movl $0x1127, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiTransformPoints@20 -_NtGdiTransformPoints@20: - movl $0x1128, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiTransparentBlt@44 -_NtGdiTransparentBlt@44: - movl $0x1129, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiUnloadPrinterDriver@8 -_NtGdiUnloadPrinterDriver@8: - movl $0x112a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiUnmapMemFont@4 -_NtGdiUnmapMemFont@4: - movl $0x112b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiUnrealizeObject@4 -_NtGdiUnrealizeObject@4: - movl $0x112c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiUpdateColors@4 -_NtGdiUpdateColors@4: - movl $0x112d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiWidenPath@4 -_NtGdiWidenPath@4: - movl $0x112e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserActivateKeyboardLayout@8 -_NtUserActivateKeyboardLayout@8: - movl $0x112f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserAlterWindowStyle@12 -_NtUserAlterWindowStyle@12: - movl $0x1130, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserAssociateInputContext@12 -_NtUserAssociateInputContext@12: - movl $0x1131, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserAttachThreadInput@12 -_NtUserAttachThreadInput@12: - movl $0x1132, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserBeginPaint@8 -_NtUserBeginPaint@8: - movl $0x1133, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserBitBltSysBmp@32 -_NtUserBitBltSysBmp@32: - movl $0x1134, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtUserBlockInput@4 -_NtUserBlockInput@4: - movl $0x1135, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserBuildHimcList@16 -_NtUserBuildHimcList@16: - movl $0x1136, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserBuildHwndList@28 -_NtUserBuildHwndList@28: - movl $0x1137, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserBuildNameList@16 -_NtUserBuildNameList@16: - movl $0x1138, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserBuildPropList@16 -_NtUserBuildPropList@16: - movl $0x1139, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserCallHwnd@8 -_NtUserCallHwnd@8: - movl $0x113a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCallHwndLock@8 -_NtUserCallHwndLock@8: - movl $0x113b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCallHwndOpt@8 -_NtUserCallHwndOpt@8: - movl $0x113c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCallHwndParam@12 -_NtUserCallHwndParam@12: - movl $0x113d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserCallHwndParamLock@12 -_NtUserCallHwndParamLock@12: - movl $0x113e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserCallMsgFilter@8 -_NtUserCallMsgFilter@8: - movl $0x113f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCallNextHookEx@16 -_NtUserCallNextHookEx@16: - movl $0x1140, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserCallNoParam@4 -_NtUserCallNoParam@4: - movl $0x1141, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserCallOneParam@8 -_NtUserCallOneParam@8: - movl $0x1142, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCallTwoParam@12 -_NtUserCallTwoParam@12: - movl $0x1143, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserChangeClipboardChain@8 -_NtUserChangeClipboardChain@8: - movl $0x1144, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserChangeDisplaySettings@16 -_NtUserChangeDisplaySettings@16: - movl $0x1145, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserCheckImeHotKey@8 -_NtUserCheckImeHotKey@8: - movl $0x1146, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCheckMenuItem@12 -_NtUserCheckMenuItem@12: - movl $0x1147, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserChildWindowFromPointEx@16 -_NtUserChildWindowFromPointEx@16: - movl $0x1148, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserClipCursor@4 -_NtUserClipCursor@4: - movl $0x1149, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserCloseClipboard@0 -_NtUserCloseClipboard@0: - movl $0x114a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserCloseDesktop@4 -_NtUserCloseDesktop@4: - movl $0x114b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserCloseWindowStation@4 -_NtUserCloseWindowStation@4: - movl $0x114c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserConsoleControl@12 -_NtUserConsoleControl@12: - movl $0x114d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserConvertMemHandle@8 -_NtUserConvertMemHandle@8: - movl $0x114e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCopyAcceleratorTable@12 -_NtUserCopyAcceleratorTable@12: - movl $0x114f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserCountClipboardFormats@0 -_NtUserCountClipboardFormats@0: - movl $0x1150, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserCreateAcceleratorTable@8 -_NtUserCreateAcceleratorTable@8: - movl $0x1151, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserCreateCaret@16 -_NtUserCreateCaret@16: - movl $0x1152, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserCreateDesktop@20 -_NtUserCreateDesktop@20: - movl $0x1153, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserCreateInputContext@4 -_NtUserCreateInputContext@4: - movl $0x1154, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserCreateLocalMemHandle@16 -_NtUserCreateLocalMemHandle@16: - movl $0x1155, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserCreateWindowEx@60 -_NtUserCreateWindowEx@60: - movl $0x1156, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x3c - -.global _NtUserCreateWindowStation@28 -_NtUserCreateWindowStation@28: - movl $0x1157, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserDdeGetQualityOfService@12 -_NtUserDdeGetQualityOfService@12: - movl $0x1158, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserDdeInitialize@20 -_NtUserDdeInitialize@20: - movl $0x1159, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserDdeSetQualityOfService@12 -_NtUserDdeSetQualityOfService@12: - movl $0x115a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserDeferWindowPos@32 -_NtUserDeferWindowPos@32: - movl $0x115b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtUserDefSetText@8 -_NtUserDefSetText@8: - movl $0x115c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserDeleteMenu@12 -_NtUserDeleteMenu@12: - movl $0x115d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserDestroyAcceleratorTable@4 -_NtUserDestroyAcceleratorTable@4: - movl $0x115e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserDestroyCursor@8 -_NtUserDestroyCursor@8: - movl $0x115f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserDestroyInputContext@4 -_NtUserDestroyInputContext@4: - movl $0x1160, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserDestroyMenu@4 -_NtUserDestroyMenu@4: - movl $0x1161, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserDestroyWindow@4 -_NtUserDestroyWindow@4: - movl $0x1162, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserDisableThreadIme@4 -_NtUserDisableThreadIme@4: - movl $0x1163, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserDispatchMessage@4 -_NtUserDispatchMessage@4: - movl $0x1164, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserDragDetect@12 -_NtUserDragDetect@12: - movl $0x1165, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserDragObject@20 -_NtUserDragObject@20: - movl $0x1166, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserDrawAnimatedRects@16 -_NtUserDrawAnimatedRects@16: - movl $0x1167, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserDrawCaption@16 -_NtUserDrawCaption@16: - movl $0x1168, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserDrawCaptionTemp@28 -_NtUserDrawCaptionTemp@28: - movl $0x1169, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserDrawIconEx@44 -_NtUserDrawIconEx@44: - movl $0x116a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtUserDrawMenuBarTemp@20 -_NtUserDrawMenuBarTemp@20: - movl $0x116b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserEmptyClipboard@0 -_NtUserEmptyClipboard@0: - movl $0x116c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserEnableMenuItem@12 -_NtUserEnableMenuItem@12: - movl $0x116d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserEnableScrollBar@12 -_NtUserEnableScrollBar@12: - movl $0x116e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserEndDeferWindowPosEx@8 -_NtUserEndDeferWindowPosEx@8: - movl $0x116f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserEndMenu@0 -_NtUserEndMenu@0: - movl $0x1170, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserEndPaint@8 -_NtUserEndPaint@8: - movl $0x1171, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserEnumDisplayDevices@16 -_NtUserEnumDisplayDevices@16: - movl $0x1172, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserEnumDisplayMonitors@16 -_NtUserEnumDisplayMonitors@16: - movl $0x1173, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserEnumDisplaySettings@16 -_NtUserEnumDisplaySettings@16: - movl $0x1174, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserEvent@4 -_NtUserEvent@4: - movl $0x1175, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserExcludeUpdateRgn@8 -_NtUserExcludeUpdateRgn@8: - movl $0x1176, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserFillWindow@16 -_NtUserFillWindow@16: - movl $0x1177, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserFindExistingCursorIcon@12 -_NtUserFindExistingCursorIcon@12: - movl $0x1178, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserFindWindowEx@20 -_NtUserFindWindowEx@20: - movl $0x1179, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserFlashWindowEx@4 -_NtUserFlashWindowEx@4: - movl $0x117a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetAltTabInfo@24 -_NtUserGetAltTabInfo@24: - movl $0x117b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserGetAncestor@8 -_NtUserGetAncestor@8: - movl $0x117c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetAppImeLevel@4 -_NtUserGetAppImeLevel@4: - movl $0x117d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetAsyncKeyState@4 -_NtUserGetAsyncKeyState@4: - movl $0x117e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetAtomName@8 -_NtUserGetAtomName@8: - movl $0x117f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetCaretBlinkTime@0 -_NtUserGetCaretBlinkTime@0: - movl $0x1180, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetCaretPos@4 -_NtUserGetCaretPos@4: - movl $0x1181, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetClassInfoEx@20 -_NtUserGetClassInfoEx@20: - movl $0x1182, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserGetClassName@12 -_NtUserGetClassName@12: - movl $0x1183, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetClipboardData@8 -_NtUserGetClipboardData@8: - movl $0x1184, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetClipboardFormatName@12 -_NtUserGetClipboardFormatName@12: - movl $0x1185, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetClipboardOwner@0 -_NtUserGetClipboardOwner@0: - movl $0x1186, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetClipboardSequenceNumber@0 -_NtUserGetClipboardSequenceNumber@0: - movl $0x1187, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetClipboardViewer@0 -_NtUserGetClipboardViewer@0: - movl $0x1188, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetClipCursor@4 -_NtUserGetClipCursor@4: - movl $0x1189, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetComboBoxInfo@8 -_NtUserGetComboBoxInfo@8: - movl $0x118a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetControlBrush@12 -_NtUserGetControlBrush@12: - movl $0x118b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetControlColor@16 -_NtUserGetControlColor@16: - movl $0x118c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetCPD@12 -_NtUserGetCPD@12: - movl $0x118d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetCursorFrameInfo@16 -_NtUserGetCursorFrameInfo@16: - movl $0x118e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetCursorInfo@4 -_NtUserGetCursorInfo@4: - movl $0x118f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetDC@4 -_NtUserGetDC@4: - movl $0x1190, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetDCEx@12 -_NtUserGetDCEx@12: - movl $0x1191, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetDoubleClickTime@0 -_NtUserGetDoubleClickTime@0: - movl $0x1192, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetForegroundWindow@0 -_NtUserGetForegroundWindow@0: - movl $0x1193, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetGuiResources@8 -_NtUserGetGuiResources@8: - movl $0x1194, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetGUIThreadInfo@8 -_NtUserGetGUIThreadInfo@8: - movl $0x1195, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetIconInfo@24 -_NtUserGetIconInfo@24: - movl $0x1196, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserGetIconSize@16 -_NtUserGetIconSize@16: - movl $0x1197, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetImeHotKey@16 -_NtUserGetImeHotKey@16: - movl $0x1198, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetImeInfoEx@8 -_NtUserGetImeInfoEx@8: - movl $0x1199, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetInternalWindowPos@12 -_NtUserGetInternalWindowPos@12: - movl $0x119a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetKeyboardLayoutList@8 -_NtUserGetKeyboardLayoutList@8: - movl $0x119b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetKeyboardLayoutName@4 -_NtUserGetKeyboardLayoutName@4: - movl $0x119c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetKeyboardState@4 -_NtUserGetKeyboardState@4: - movl $0x119d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetKeyNameText@12 -_NtUserGetKeyNameText@12: - movl $0x119e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetKeyState@4 -_NtUserGetKeyState@4: - movl $0x119f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetListBoxInfo@4 -_NtUserGetListBoxInfo@4: - movl $0x11a0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetMenuBarInfo@16 -_NtUserGetMenuBarInfo@16: - movl $0x11a1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetMenuIndex@8 -_NtUserGetMenuIndex@8: - movl $0x11a2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetMenuItemRect@16 -_NtUserGetMenuItemRect@16: - movl $0x11a3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetMessage@16 -_NtUserGetMessage@16: - movl $0x11a4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetMouseMovePointsEx@20 -_NtUserGetMouseMovePointsEx@20: - movl $0x11a5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserGetObjectInformation@20 -_NtUserGetObjectInformation@20: - movl $0x11a6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserGetOpenClipboardWindow@0 -_NtUserGetOpenClipboardWindow@0: - movl $0x11a7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetPriorityClipboardFormat@8 -_NtUserGetPriorityClipboardFormat@8: - movl $0x11a8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetProcessWindowStation@0 -_NtUserGetProcessWindowStation@0: - movl $0x11a9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserGetRawInputBuffer@12 -_NtUserGetRawInputBuffer@12: - movl $0x11aa, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetRawInputData@20 -_NtUserGetRawInputData@20: - movl $0x11ab, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserGetRawInputDeviceInfo@16 -_NtUserGetRawInputDeviceInfo@16: - movl $0x11ac, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserGetRawInputDeviceList@12 -_NtUserGetRawInputDeviceList@12: - movl $0x11ad, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetRegisteredRawInputDevices@12 -_NtUserGetRegisteredRawInputDevices@12: - movl $0x11ae, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetScrollBarInfo@12 -_NtUserGetScrollBarInfo@12: - movl $0x11af, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetSystemMenu@8 -_NtUserGetSystemMenu@8: - movl $0x11b0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetThreadDesktop@8 -_NtUserGetThreadDesktop@8: - movl $0x11b1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetThreadState@4 -_NtUserGetThreadState@4: - movl $0x11b2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetTitleBarInfo@8 -_NtUserGetTitleBarInfo@8: - movl $0x11b3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetUpdateRect@12 -_NtUserGetUpdateRect@12: - movl $0x11b4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetUpdateRgn@12 -_NtUserGetUpdateRgn@12: - movl $0x11b5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserGetWindowDC@4 -_NtUserGetWindowDC@4: - movl $0x11b6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserGetWindowPlacement@8 -_NtUserGetWindowPlacement@8: - movl $0x11b7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserGetWOWClass@8 -_NtUserGetWOWClass@8: - movl $0x11b8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserHardErrorControl@12 -_NtUserHardErrorControl@12: - movl $0x11b9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserHideCaret@4 -_NtUserHideCaret@4: - movl $0x11ba, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserHiliteMenuItem@16 -_NtUserHiliteMenuItem@16: - movl $0x11bb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserImpersonateDdeClientWindow@8 -_NtUserImpersonateDdeClientWindow@8: - movl $0x11bc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserInitialize@12 -_NtUserInitialize@12: - movl $0x11bd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserInitializeClientPfnArrays@16 -_NtUserInitializeClientPfnArrays@16: - movl $0x11be, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserInitTask@48 -_NtUserInitTask@48: - movl $0x11bf, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x30 - -.global _NtUserInternalGetWindowText@12 -_NtUserInternalGetWindowText@12: - movl $0x11c0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserInvalidateRect@12 -_NtUserInvalidateRect@12: - movl $0x11c1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserInvalidateRgn@12 -_NtUserInvalidateRgn@12: - movl $0x11c2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserIsClipboardFormatAvailable@4 -_NtUserIsClipboardFormatAvailable@4: - movl $0x11c3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserKillTimer@8 -_NtUserKillTimer@8: - movl $0x11c4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserLoadKeyboardLayoutEx@28 -_NtUserLoadKeyboardLayoutEx@28: - movl $0x11c5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserLockWindowStation@4 -_NtUserLockWindowStation@4: - movl $0x11c6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserLockWindowUpdate@4 -_NtUserLockWindowUpdate@4: - movl $0x11c7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserLockWorkStation@0 -_NtUserLockWorkStation@0: - movl $0x11c8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserMapVirtualKeyEx@16 -_NtUserMapVirtualKeyEx@16: - movl $0x11c9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserMenuItemFromPoint@16 -_NtUserMenuItemFromPoint@16: - movl $0x11ca, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserMessageCall@28 -_NtUserMessageCall@28: - movl $0x11cb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserMinMaximize@12 -_NtUserMinMaximize@12: - movl $0x11cc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserMNDragLeave@0 -_NtUserMNDragLeave@0: - movl $0x11cd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserMNDragOver@8 -_NtUserMNDragOver@8: - movl $0x11ce, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserModifyUserStartupInfoFlags@8 -_NtUserModifyUserStartupInfoFlags@8: - movl $0x11cf, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserMoveWindow@24 -_NtUserMoveWindow@24: - movl $0x11d0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserNotifyIMEStatus@12 -_NtUserNotifyIMEStatus@12: - movl $0x11d1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserNotifyProcessCreate@16 -_NtUserNotifyProcessCreate@16: - movl $0x11d2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserNotifyWinEvent@16 -_NtUserNotifyWinEvent@16: - movl $0x11d3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserOpenClipboard@8 -_NtUserOpenClipboard@8: - movl $0x11d4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserOpenDesktop@12 -_NtUserOpenDesktop@12: - movl $0x11d5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserOpenInputDesktop@12 -_NtUserOpenInputDesktop@12: - movl $0x11d6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserOpenWindowStation@8 -_NtUserOpenWindowStation@8: - movl $0x11d7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserPaintDesktop@4 -_NtUserPaintDesktop@4: - movl $0x11d8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserPeekMessage@20 -_NtUserPeekMessage@20: - movl $0x11d9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserPostMessage@16 -_NtUserPostMessage@16: - movl $0x11da, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserPostThreadMessage@16 -_NtUserPostThreadMessage@16: - movl $0x11db, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserPrintWindow@12 -_NtUserPrintWindow@12: - movl $0x11dc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserProcessConnect@12 -_NtUserProcessConnect@12: - movl $0x11dd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserQueryInformationThread@16 -_NtUserQueryInformationThread@16: - movl $0x11de, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserQueryInputContext@8 -_NtUserQueryInputContext@8: - movl $0x11df, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserQuerySendMessage@4 -_NtUserQuerySendMessage@4: - movl $0x11e0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserQueryWindow@8 -_NtUserQueryWindow@8: - movl $0x11e1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserRealChildWindowFromPoint@12 -_NtUserRealChildWindowFromPoint@12: - movl $0x11e2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserRealInternalGetMessage@24 -_NtUserRealInternalGetMessage@24: - movl $0x11e3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserRealWaitMessageEx@8 -_NtUserRealWaitMessageEx@8: - movl $0x11e4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserRedrawWindow@16 -_NtUserRedrawWindow@16: - movl $0x11e5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserRegisterClassExWOW@28 -_NtUserRegisterClassExWOW@28: - movl $0x11e6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserRegisterUserApiHook@16 -_NtUserRegisterUserApiHook@16: - movl $0x11e7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserRegisterHotKey@16 -_NtUserRegisterHotKey@16: - movl $0x11e8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserRegisterRawInputDevices@12 -_NtUserRegisterRawInputDevices@12: - movl $0x11e9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserRegisterTasklist@4 -_NtUserRegisterTasklist@4: - movl $0x11ea, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserRegisterWindowMessage@4 -_NtUserRegisterWindowMessage@4: - movl $0x11eb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserRemoveMenu@12 -_NtUserRemoveMenu@12: - movl $0x11ec, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserRemoveProp@8 -_NtUserRemoveProp@8: - movl $0x11ed, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserResolveDesktop@16 -_NtUserResolveDesktop@16: - movl $0x11ee, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserResolveDesktopForWOW@4 -_NtUserResolveDesktopForWOW@4: - movl $0x11ef, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSBGetParms@16 -_NtUserSBGetParms@16: - movl $0x11f0, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserScrollDC@28 -_NtUserScrollDC@28: - movl $0x11f1, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserScrollWindowEx@32 -_NtUserScrollWindowEx@32: - movl $0x11f2, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtUserSelectPalette@12 -_NtUserSelectPalette@12: - movl $0x11f3, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSendInput@12 -_NtUserSendInput@12: - movl $0x11f4, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetActiveWindow@4 -_NtUserSetActiveWindow@4: - movl $0x11f5, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetAppImeLevel@8 -_NtUserSetAppImeLevel@8: - movl $0x11f6, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetCapture@4 -_NtUserSetCapture@4: - movl $0x11f7, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetClassLong@16 -_NtUserSetClassLong@16: - movl $0x11f8, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetClassWord@12 -_NtUserSetClassWord@12: - movl $0x11f9, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetClipboardData@12 -_NtUserSetClipboardData@12: - movl $0x11fa, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetClipboardViewer@4 -_NtUserSetClipboardViewer@4: - movl $0x11fb, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetConsoleReserveKeys@8 -_NtUserSetConsoleReserveKeys@8: - movl $0x11fc, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetCursor@4 -_NtUserSetCursor@4: - movl $0x11fd, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetCursorContents@8 -_NtUserSetCursorContents@8: - movl $0x11fe, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetCursorIconData@16 -_NtUserSetCursorIconData@16: - movl $0x11ff, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetFocus@4 -_NtUserSetFocus@4: - movl $0x1200, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetImeHotKey@20 -_NtUserSetImeHotKey@20: - movl $0x1201, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserSetImeInfoEx@4 -_NtUserSetImeInfoEx@4: - movl $0x1202, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetImeOwnerWindow@8 -_NtUserSetImeOwnerWindow@8: - movl $0x1203, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetInformationProcess@16 -_NtUserSetInformationProcess@16: - movl $0x1204, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetInformationThread@16 -_NtUserSetInformationThread@16: - movl $0x1205, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetInternalWindowPos@16 -_NtUserSetInternalWindowPos@16: - movl $0x1206, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetKeyboardState@4 -_NtUserSetKeyboardState@4: - movl $0x1207, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetLogonNotifyWindow@4 -_NtUserSetLogonNotifyWindow@4: - movl $0x1208, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetMenu@12 -_NtUserSetMenu@12: - movl $0x1209, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetMenuContextHelpId@8 -_NtUserSetMenuContextHelpId@8: - movl $0x120a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetMenuDefaultItem@12 -_NtUserSetMenuDefaultItem@12: - movl $0x120b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetMenuFlagRtoL@4 -_NtUserSetMenuFlagRtoL@4: - movl $0x120c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetObjectInformation@16 -_NtUserSetObjectInformation@16: - movl $0x120d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetParent@8 -_NtUserSetParent@8: - movl $0x120e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetProcessWindowStation@4 -_NtUserSetProcessWindowStation@4: - movl $0x120f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetProp@12 -_NtUserSetProp@12: - movl $0x1210, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetScrollInfo@16 -_NtUserSetScrollInfo@16: - movl $0x1211, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetShellWindowEx@8 -_NtUserSetShellWindowEx@8: - movl $0x1212, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetSysColors@16 -_NtUserSetSysColors@16: - movl $0x1213, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetSystemCursor@8 -_NtUserSetSystemCursor@8: - movl $0x1214, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetSystemMenu@8 -_NtUserSetSystemMenu@8: - movl $0x1215, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetSystemTimer@16 -_NtUserSetSystemTimer@16: - movl $0x1216, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetThreadDesktop@4 -_NtUserSetThreadDesktop@4: - movl $0x1217, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSetThreadLayoutHandles@8 -_NtUserSetThreadLayoutHandles@8: - movl $0x1218, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetThreadState@8 -_NtUserSetThreadState@8: - movl $0x1219, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetTimer@16 -_NtUserSetTimer@16: - movl $0x121a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetWindowFNID@8 -_NtUserSetWindowFNID@8: - movl $0x121b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetWindowLong@16 -_NtUserSetWindowLong@16: - movl $0x121c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetWindowPlacement@8 -_NtUserSetWindowPlacement@8: - movl $0x121d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSetWindowPos@28 -_NtUserSetWindowPos@28: - movl $0x121e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserSetWindowRgn@12 -_NtUserSetWindowRgn@12: - movl $0x121f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetWindowsHookAW@12 -_NtUserSetWindowsHookAW@12: - movl $0x1220, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetWindowsHookEx@24 -_NtUserSetWindowsHookEx@24: - movl $0x1221, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserSetWindowStationUser@16 -_NtUserSetWindowStationUser@16: - movl $0x1222, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetWindowWord@12 -_NtUserSetWindowWord@12: - movl $0x1223, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserSetWinEventHook@32 -_NtUserSetWinEventHook@32: - movl $0x1224, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtUserShowCaret@4 -_NtUserShowCaret@4: - movl $0x1225, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserShowScrollBar@12 -_NtUserShowScrollBar@12: - movl $0x1226, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserShowWindow@8 -_NtUserShowWindow@8: - movl $0x1227, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserShowWindowAsync@8 -_NtUserShowWindowAsync@8: - movl $0x1228, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserSoundSentry@0 -_NtUserSoundSentry@0: - movl $0x1229, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserSwitchDesktop@4 -_NtUserSwitchDesktop@4: - movl $0x122a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserSystemParametersInfo@16 -_NtUserSystemParametersInfo@16: - movl $0x122b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserTestForInteractiveUser@4 -_NtUserTestForInteractiveUser@4: - movl $0x122c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserThunkedMenuInfo@8 -_NtUserThunkedMenuInfo@8: - movl $0x122d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserThunkedMenuItemInfo@24 -_NtUserThunkedMenuItemInfo@24: - movl $0x122e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserToUnicodeEx@28 -_NtUserToUnicodeEx@28: - movl $0x122f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtUserTrackMouseEvent@4 -_NtUserTrackMouseEvent@4: - movl $0x1230, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserTrackPopupMenuEx@24 -_NtUserTrackPopupMenuEx@24: - movl $0x1231, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserCalcMenuBar@20 -_NtUserCalcMenuBar@20: - movl $0x1232, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtUserPaintMenuBar@24 -_NtUserPaintMenuBar@24: - movl $0x1233, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserTranslateAccelerator@12 -_NtUserTranslateAccelerator@12: - movl $0x1234, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserTranslateMessage@8 -_NtUserTranslateMessage@8: - movl $0x1235, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserUnhookWindowsHookEx@4 -_NtUserUnhookWindowsHookEx@4: - movl $0x1236, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserUnhookWinEvent@4 -_NtUserUnhookWinEvent@4: - movl $0x1237, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserUnloadKeyboardLayout@4 -_NtUserUnloadKeyboardLayout@4: - movl $0x1238, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserUnlockWindowStation@4 -_NtUserUnlockWindowStation@4: - movl $0x1239, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserUnregisterClass@12 -_NtUserUnregisterClass@12: - movl $0x123a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserUnregisterUserApiHook@0 -_NtUserUnregisterUserApiHook@0: - movl $0x123b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserUnregisterHotKey@8 -_NtUserUnregisterHotKey@8: - movl $0x123c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserUpdateInputContext@12 -_NtUserUpdateInputContext@12: - movl $0x123d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserUpdateInstance@12 -_NtUserUpdateInstance@12: - movl $0x123e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserUpdateLayeredWindow@40 -_NtUserUpdateLayeredWindow@40: - movl $0x123f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x28 - -.global _NtUserGetLayeredWindowAttributes@16 -_NtUserGetLayeredWindowAttributes@16: - movl $0x1240, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserSetLayeredWindowAttributes@16 -_NtUserSetLayeredWindowAttributes@16: - movl $0x1241, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserUpdatePerUserSystemParameters@8 -_NtUserUpdatePerUserSystemParameters@8: - movl $0x1242, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserUserHandleGrantAccess@12 -_NtUserUserHandleGrantAccess@12: - movl $0x1243, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserValidateHandleSecure@4 -_NtUserValidateHandleSecure@4: - movl $0x1244, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserValidateRect@8 -_NtUserValidateRect@8: - movl $0x1245, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserValidateTimerCallback@4 -_NtUserValidateTimerCallback@4: - movl $0x1246, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserVkKeyScanEx@12 -_NtUserVkKeyScanEx@12: - movl $0x1247, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserWaitForInputIdle@12 -_NtUserWaitForInputIdle@12: - movl $0x1248, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserWaitForMsgAndEvent@4 -_NtUserWaitForMsgAndEvent@4: - movl $0x1249, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtUserWaitMessage@0 -_NtUserWaitMessage@0: - movl $0x124a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserWin32PoolAllocationStats@24 -_NtUserWin32PoolAllocationStats@24: - movl $0x124b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtUserWindowFromPoint@8 -_NtUserWindowFromPoint@8: - movl $0x124c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtUserYieldTask@0 -_NtUserYieldTask@0: - movl $0x124d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserRemoteConnect@12 -_NtUserRemoteConnect@12: - movl $0x124e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtUserRemoteRedrawRectangle@16 -_NtUserRemoteRedrawRectangle@16: - movl $0x124f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtUserRemoteRedrawScreen@0 -_NtUserRemoteRedrawScreen@0: - movl $0x1250, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserRemoteStopScreenUpdates@0 -_NtUserRemoteStopScreenUpdates@0: - movl $0x1251, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtUserCtxDisplayIOCtl@12 -_NtUserCtxDisplayIOCtl@12: - movl $0x1252, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiEngAssociateSurface@12 -_NtGdiEngAssociateSurface@12: - movl $0x1253, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiEngCreateBitmap@24 -_NtGdiEngCreateBitmap@24: - movl $0x1254, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiEngCreateDeviceSurface@16 -_NtGdiEngCreateDeviceSurface@16: - movl $0x1255, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiEngCreateDeviceBitmap@16 -_NtGdiEngCreateDeviceBitmap@16: - movl $0x1256, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiEngCreatePalette@24 -_NtGdiEngCreatePalette@24: - movl $0x1257, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiEngComputeGlyphSet@12 -_NtGdiEngComputeGlyphSet@12: - movl $0x1258, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiEngCopyBits@24 -_NtGdiEngCopyBits@24: - movl $0x1259, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiEngDeletePalette@4 -_NtGdiEngDeletePalette@4: - movl $0x125a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngDeleteSurface@4 -_NtGdiEngDeleteSurface@4: - movl $0x125b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngEraseSurface@12 -_NtGdiEngEraseSurface@12: - movl $0x125c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiEngUnlockSurface@4 -_NtGdiEngUnlockSurface@4: - movl $0x125d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngLockSurface@4 -_NtGdiEngLockSurface@4: - movl $0x125e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngBitBlt@44 -_NtGdiEngBitBlt@44: - movl $0x125f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiEngStretchBlt@44 -_NtGdiEngStretchBlt@44: - movl $0x1260, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiEngPlgBlt@44 -_NtGdiEngPlgBlt@44: - movl $0x1261, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x2c - -.global _NtGdiEngMarkBandingSurface@4 -_NtGdiEngMarkBandingSurface@4: - movl $0x1262, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngStrokePath@32 -_NtGdiEngStrokePath@32: - movl $0x1263, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiEngFillPath@28 -_NtGdiEngFillPath@28: - movl $0x1264, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiEngStrokeAndFillPath@40 -_NtGdiEngStrokeAndFillPath@40: - movl $0x1265, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x28 - -.global _NtGdiEngPaint@20 -_NtGdiEngPaint@20: - movl $0x1266, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiEngLineTo@36 -_NtGdiEngLineTo@36: - movl $0x1267, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x24 - -.global _NtGdiEngAlphaBlend@28 -_NtGdiEngAlphaBlend@28: - movl $0x1268, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x1c - -.global _NtGdiEngGradientFill@40 -_NtGdiEngGradientFill@40: - movl $0x1269, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x28 - -.global _NtGdiEngTransparentBlt@32 -_NtGdiEngTransparentBlt@32: - movl $0x126a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x20 - -.global _NtGdiEngTextOut@40 -_NtGdiEngTextOut@40: - movl $0x126b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x28 - -.global _NtGdiEngStretchBltROP@52 -_NtGdiEngStretchBltROP@52: - movl $0x126c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x34 - -.global _NtGdiXLATEOBJ_cGetPalette@16 -_NtGdiXLATEOBJ_cGetPalette@16: - movl $0x126d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiXLATEOBJ_iXlate@8 -_NtGdiXLATEOBJ_iXlate@8: - movl $0x126e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiXLATEOBJ_hGetColorTransform@4 -_NtGdiXLATEOBJ_hGetColorTransform@4: - movl $0x126f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiCLIPOBJ_bEnum@12 -_NtGdiCLIPOBJ_bEnum@12: - movl $0x1270, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiCLIPOBJ_cEnumStart@20 -_NtGdiCLIPOBJ_cEnumStart@20: - movl $0x1271, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiCLIPOBJ_ppoGetPath@4 -_NtGdiCLIPOBJ_ppoGetPath@4: - movl $0x1272, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngDeletePath@4 -_NtGdiEngDeletePath@4: - movl $0x1273, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngCreateClip@0 -_NtGdiEngCreateClip@0: - movl $0x1274, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x0 - -.global _NtGdiEngDeleteClip@4 -_NtGdiEngDeleteClip@4: - movl $0x1275, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiBRUSHOBJ_ulGetBrushColor@4 -_NtGdiBRUSHOBJ_ulGetBrushColor@4: - movl $0x1276, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiBRUSHOBJ_pvAllocRbrush@8 -_NtGdiBRUSHOBJ_pvAllocRbrush@8: - movl $0x1277, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiBRUSHOBJ_pvGetRbrush@4 -_NtGdiBRUSHOBJ_pvGetRbrush@4: - movl $0x1278, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiBRUSHOBJ_hGetColorTransform@4 -_NtGdiBRUSHOBJ_hGetColorTransform@4: - movl $0x1279, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiXFORMOBJ_bApplyXform@20 -_NtGdiXFORMOBJ_bApplyXform@20: - movl $0x127a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiXFORMOBJ_iGetXform@8 -_NtGdiXFORMOBJ_iGetXform@8: - movl $0x127b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiFONTOBJ_vGetInfo@12 -_NtGdiFONTOBJ_vGetInfo@12: - movl $0x127c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiFONTOBJ_pxoGetXform@4 -_NtGdiFONTOBJ_pxoGetXform@4: - movl $0x127d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiFONTOBJ_cGetGlyphs@20 -_NtGdiFONTOBJ_cGetGlyphs@20: - movl $0x127e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x14 - -.global _NtGdiFONTOBJ_pifi@4 -_NtGdiFONTOBJ_pifi@4: - movl $0x127f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiFONTOBJ_pfdg@4 -_NtGdiFONTOBJ_pfdg@4: - movl $0x1280, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiFONTOBJ_pQueryGlyphAttrs@8 -_NtGdiFONTOBJ_pQueryGlyphAttrs@8: - movl $0x1281, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiFONTOBJ_pvTrueTypeFontFile@8 -_NtGdiFONTOBJ_pvTrueTypeFontFile@8: - movl $0x1282, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiFONTOBJ_cGetAllGlyphHandles@8 -_NtGdiFONTOBJ_cGetAllGlyphHandles@8: - movl $0x1283, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiSTROBJ_bEnum@12 -_NtGdiSTROBJ_bEnum@12: - movl $0x1284, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSTROBJ_bEnumPositionsOnly@12 -_NtGdiSTROBJ_bEnumPositionsOnly@12: - movl $0x1285, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiSTROBJ_bGetAdvanceWidths@16 -_NtGdiSTROBJ_bGetAdvanceWidths@16: - movl $0x1286, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiSTROBJ_vEnumStart@4 -_NtGdiSTROBJ_vEnumStart@4: - movl $0x1287, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiSTROBJ_dwGetCodePage@4 -_NtGdiSTROBJ_dwGetCodePage@4: - movl $0x1288, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiPATHOBJ_vGetBounds@8 -_NtGdiPATHOBJ_vGetBounds@8: - movl $0x1289, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiPATHOBJ_bEnum@8 -_NtGdiPATHOBJ_bEnum@8: - movl $0x128a, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiPATHOBJ_vEnumStart@4 -_NtGdiPATHOBJ_vEnumStart@4: - movl $0x128b, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiPATHOBJ_vEnumStartClipLines@16 -_NtGdiPATHOBJ_vEnumStartClipLines@16: - movl $0x128c, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiPATHOBJ_bEnumClipLines@12 -_NtGdiPATHOBJ_bEnumClipLines@12: - movl $0x128d, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiGetDhpdev@4 -_NtGdiGetDhpdev@4: - movl $0x128e, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiEngCheckAbort@4 -_NtGdiEngCheckAbort@4: - movl $0x128f, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiHT_Get8BPPFormatPalette@16 -_NtGdiHT_Get8BPPFormatPalette@16: - movl $0x1290, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiHT_Get8BPPMaskPalette@24 -_NtGdiHT_Get8BPPMaskPalette@24: - movl $0x1291, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x18 - -.global _NtGdiUpdateTransform@4 -_NtGdiUpdateTransform@4: - movl $0x1292, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiSetPUMPDOBJ@16 -_NtGdiSetPUMPDOBJ@16: - movl $0x1293, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x10 - -.global _NtGdiBRUSHOBJ_DeleteRbrush@8 -_NtGdiBRUSHOBJ_DeleteRbrush@8: - movl $0x1294, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiUMPDEngFreeUserMem@4 -_NtGdiUMPDEngFreeUserMem@4: - movl $0x1295, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - -.global _NtGdiDrawStream@12 -_NtGdiDrawStream@12: - movl $0x1296, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0xc - -.global _NtGdiMakeObjectXferable@8 -_NtGdiMakeObjectXferable@8: - movl $0x1297, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x8 - -.global _NtGdiMakeObjectUnXferable@4 -_NtGdiMakeObjectUnXferable@4: - movl $0x1298, %eax - movl $KUSER_SHARED_SYSCALL, %ecx - call *(%ecx) - ret $0x4 - diff --git a/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.def b/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.def deleted file mode 100644 index 2d49073abc2..00000000000 --- a/rostests/apitests/w32kdll/w32kdll_2k3sp2/w32kdll_2k3sp2.def +++ /dev/null @@ -1,673 +0,0 @@ -; -; ReactOS Operating System -; -; This file contains all win32k native api functions from win 2k3 sp 2 -; -LIBRARY w32kdll.dll - -EXPORTS -NtGdiAbortDoc@4 -NtGdiAbortPath@4 -NtGdiAddFontResourceW@24 -NtGdiAddRemoteFontToDC@16 -NtGdiAddFontMemResourceEx@20 -NtGdiRemoveMergeFont@8 -NtGdiAddRemoteMMInstanceToDC@12 -NtGdiAlphaBlend@48 -NtGdiAngleArc@24 -NtGdiAnyLinkedFonts@0 -NtGdiFontIsLinked@4 -NtGdiArcInternal@40 -NtGdiBeginPath@4 -NtGdiBitBlt@44 -NtGdiCancelDC@4 -NtGdiCheckBitmapBits@32 -NtGdiCloseFigure@4 -NtGdiClearBitmapAttributes@8 -NtGdiClearBrushAttributes@8 -NtGdiColorCorrectPalette@24 -NtGdiCombineRgn@16 -NtGdiCombineTransform@12 -NtGdiComputeXformCoefficients@4 -NtGdiConsoleTextOut@16 -NtGdiConvertMetafileRect@8 -NtGdiCreateBitmap@20 -NtGdiCreateClientObj@4 -NtGdiCreateColorSpace@4 -NtGdiCreateColorTransform@32 -NtGdiCreateCompatibleBitmap@12 -NtGdiCreateCompatibleDC@4 -NtGdiCreateDIBBrush@24 -NtGdiCreateDIBitmapInternal@44 -NtGdiCreateDIBSection@36 -NtGdiCreateEllipticRgn@16 -NtGdiCreateHalftonePalette@4 -NtGdiCreateHatchBrushInternal@12 -NtGdiCreateMetafileDC@4 -NtGdiCreatePaletteInternal@8 -NtGdiCreatePatternBrushInternal@12 -NtGdiCreatePen@16 -NtGdiCreateRectRgn@16 -NtGdiCreateRoundRectRgn@24 -NtGdiCreateServerMetaFile@24 -NtGdiCreateSolidBrush@8 -NtGdiD3dContextCreate@16 -NtGdiD3dContextDestroy@4 -NtGdiD3dContextDestroyAll@4 -NtGdiD3dValidateTextureStageState@4 -NtGdiD3dDrawPrimitives2@28 -NtGdiDdGetDriverState@4 -NtGdiDdAddAttachedSurface@12 -NtGdiDdAlphaBlt@12 -NtGdiDdAttachSurface@8 -NtGdiDdBeginMoCompFrame@8 -NtGdiDdBlt@12 -NtGdiDdCanCreateSurface@8 -NtGdiDdCanCreateD3DBuffer@8 -NtGdiDdColorControl@8 -NtGdiDdCreateDirectDrawObject@4 -NtGdiDdCreateSurface@32 -NtGdiDdCreateD3DBuffer@32 -NtGdiDdCreateMoComp@8 -NtGdiDdCreateSurfaceObject@24 -NtGdiDdDeleteDirectDrawObject@4 -NtGdiDdDeleteSurfaceObject@4 -NtGdiDdDestroyMoComp@8 -NtGdiDdDestroySurface@8 -NtGdiDdDestroyD3DBuffer@4 -NtGdiDdEndMoCompFrame@8 -NtGdiDdFlip@20 -NtGdiDdFlipToGDISurface@8 -NtGdiDdGetAvailDriverMemory@8 -NtGdiDdGetBltStatus@8 -NtGdiDdGetDC@8 -NtGdiDdGetDriverInfo@8 -NtGdiDdGetDxHandle@12 -NtGdiDdGetFlipStatus@8 -NtGdiDdGetInternalMoCompInfo@8 -NtGdiDdGetMoCompBuffInfo@8 -NtGdiDdGetMoCompGuids@8 -NtGdiDdGetMoCompFormats@8 -NtGdiDdGetScanLine@8 -NtGdiDdLock@12 -NtGdiDdLockD3D@8 -NtGdiDdQueryDirectDrawObject@44 -NtGdiDdQueryMoCompStatus@8 -NtGdiDdReenableDirectDrawObject@8 -NtGdiDdReleaseDC@4 -NtGdiDdRenderMoComp@8 -NtGdiDdResetVisrgn@8 -NtGdiDdSetColorKey@8 -NtGdiDdSetExclusiveMode@8 -NtGdiDdSetGammaRamp@12 -NtGdiDdCreateSurfaceEx@12 -NtGdiDdSetOverlayPosition@12 -NtGdiDdUnattachSurface@8 -NtGdiDdUnlock@8 -NtGdiDdUnlockD3D@8 -NtGdiDdUpdateOverlay@12 -NtGdiDdWaitForVerticalBlank@8 -NtGdiDvpCanCreateVideoPort@8 -NtGdiDvpColorControl@8 -NtGdiDvpCreateVideoPort@8 -NtGdiDvpDestroyVideoPort@8 -NtGdiDvpFlipVideoPort@16 -NtGdiDvpGetVideoPortBandwidth@8 -NtGdiDvpGetVideoPortField@8 -NtGdiDvpGetVideoPortFlipStatus@8 -NtGdiDvpGetVideoPortInputFormats@8 -NtGdiDvpGetVideoPortLine@8 -NtGdiDvpGetVideoPortOutputFormats@8 -NtGdiDvpGetVideoPortConnectInfo@8 -NtGdiDvpGetVideoSignalStatus@8 -NtGdiDvpUpdateVideoPort@16 -NtGdiDvpWaitForVideoPortSync@8 -NtGdiDvpAcquireNotification@12 -NtGdiDvpReleaseNotification@8 -NtGdiDxgGenericThunk@24 -NtGdiDeleteClientObj@4 -NtGdiDeleteColorSpace@4 -NtGdiDeleteColorTransform@8 -NtGdiDeleteObjectApp@4 -NtGdiDescribePixelFormat@16 -NtGdiGetPerBandInfo@8 -NtGdiDoBanding@16 -NtGdiDoPalette@24 -NtGdiDrawEscape@16 -NtGdiEllipse@20 -NtGdiEnableEudc@4 -NtGdiEndDoc@4 -NtGdiEndPage@4 -NtGdiEndPath@4 -NtGdiEnumFontChunk@20 -NtGdiEnumFontClose@4 -NtGdiEnumFontOpen@28 -NtGdiEnumObjects@16 -NtGdiEqualRgn@8 -NtGdiEudcLoadUnloadLink@28 -NtGdiExcludeClipRect@20 -NtGdiExtCreatePen@44 -NtGdiExtCreateRegion@12 -NtGdiExtEscape@32 -NtGdiExtFloodFill@20 -NtGdiExtGetObjectW@12 -NtGdiExtSelectClipRgn@12 -NtGdiExtTextOutW@36 -NtGdiFillPath@4 -NtGdiFillRgn@12 -NtGdiFlattenPath@4 -NtGdiFlush@0 -NtGdiForceUFIMapping@8 -NtGdiFrameRgn@20 -NtGdiFullscreenControl@20 -NtGdiGetAndSetDCDword@16 -NtGdiGetAppClipBox@8 -NtGdiGetBitmapBits@12 -NtGdiGetBitmapDimension@8 -NtGdiGetBoundsRect@12 -NtGdiGetCharABCWidthsW@24 -NtGdiGetCharacterPlacementW@24 -NtGdiGetCharSet@4 -NtGdiGetCharWidthW@24 -NtGdiGetCharWidthInfo@8 -NtGdiGetColorAdjustment@8 -NtGdiGetColorSpaceforBitmap@4 -NtGdiGetDCDword@12 -NtGdiGetDCforBitmap@4 -NtGdiGetDCObject@8 -NtGdiGetDCPoint@12 -NtGdiGetDeviceCaps@8 -NtGdiGetDeviceGammaRamp@8 -NtGdiGetDeviceCapsAll@8 -NtGdiGetDIBitsInternal@36 -NtGdiGetETM@8 -NtGdiGetEudcTimeStampEx@12 -NtGdiGetFontData@20 -NtGdiGetFontResourceInfoInternalW@28 -NtGdiGetGlyphIndicesW@20 -NtGdiGetGlyphIndicesWInternal@24 -NtGdiGetGlyphOutline@32 -NtGdiGetKerningPairs@12 -NtGdiGetLinkedUFIs@12 -NtGdiGetMiterLimit@8 -NtGdiGetMonitorID@12 -NtGdiGetNearestColor@8 -NtGdiGetNearestPaletteIndex@8 -NtGdiGetObjectBitmapHandle@8 -NtGdiGetOutlineTextMetricsInternalW@16 -NtGdiGetPath@16 -NtGdiGetPixel@12 -NtGdiGetRandomRgn@12 -NtGdiGetRasterizerCaps@8 -NtGdiGetRealizationInfo@12 -NtGdiGetRegionData@12 -NtGdiGetRgnBox@8 -NtGdiGetServerMetaFileBits@28 -NtGdiGetSpoolMessage@16 -NtGdiGetStats@20 -NtGdiGetStockObject@4 -NtGdiGetStringBitmapW@20 -NtGdiGetSystemPaletteUse@4 -NtGdiGetTextCharsetInfo@12 -NtGdiGetTextExtent@20 -NtGdiGetTextExtentExW@32 -NtGdiGetTextFaceW@16 -NtGdiGetTextMetricsW@12 -NtGdiGetTransform@12 -NtGdiGetUFI@24 -NtGdiGetEmbUFI@28 -NtGdiGetUFIPathname@40 -NtGdiGetEmbedFonts@0 -NtGdiChangeGhostFont@8 -NtGdiAddEmbFontToDC@8 -NtGdiGetFontUnicodeRanges@8 -NtGdiGetWidthTable@28 -NtGdiGradientFill@24 -NtGdiHfontCreate@20 -NtGdiIcmBrushInfo@32 -NtGdiInit@0 -NtGdiInitSpool@0 -NtGdiIntersectClipRect@20 -NtGdiInvertRgn@8 -NtGdiLineTo@12 -NtGdiMakeFontDir@20 -NtGdiMakeInfoDC@8 -NtGdiMaskBlt@52 -NtGdiModifyWorldTransform@12 -NtGdiMonoBitmap@4 -NtGdiMoveTo@16 -NtGdiOffsetClipRgn@12 -NtGdiOffsetRgn@12 -NtGdiOpenDCW@28 -NtGdiPatBlt@24 -NtGdiPolyPatBlt@20 -NtGdiPathToRegion@4 -NtGdiPlgBlt@44 -NtGdiPolyDraw@16 -NtGdiPolyPolyDraw@20 -NtGdiPolyTextOutW@16 -NtGdiPtInRegion@12 -NtGdiPtVisible@12 -NtGdiQueryFonts@12 -NtGdiQueryFontAssocInfo@4 -NtGdiRectangle@20 -NtGdiRectInRegion@8 -NtGdiRectVisible@8 -NtGdiRemoveFontResourceW@24 -NtGdiRemoveFontMemResourceEx@4 -NtGdiResetDC@20 -NtGdiResizePalette@8 -NtGdiRestoreDC@8 -NtGdiRoundRect@28 -NtGdiSaveDC@4 -NtGdiScaleViewportExtEx@24 -NtGdiScaleWindowExtEx@24 -NtGdiSelectBitmap@8 -NtGdiSelectBrush@8 -NtGdiSelectClipPath@8 -NtGdiSelectFont@8 -NtGdiSelectPen@8 -NtGdiSetBitmapAttributes@8 -NtGdiSetBitmapBits@12 -NtGdiSetBitmapDimension@16 -NtGdiSetBoundsRect@12 -NtGdiSetBrushAttributes@8 -NtGdiSetBrushOrg@16 -NtGdiSetColorAdjustment@8 -NtGdiSetColorSpace@8 -NtGdiSetDeviceGammaRamp@8 -NtGdiSetDIBitsToDeviceInternal@64 -NtGdiSetFontEnumeration@4 -NtGdiSetFontXform@12 -NtGdiSetIcmMode@12 -NtGdiSetLinkedUFIs@12 -NtGdiSetMagicColors@12 -NtGdiSetMetaRgn@4 -NtGdiSetMiterLimit@12 -NtGdiGetDeviceWidth@4 -NtGdiMirrorWindowOrg@4 -NtGdiSetLayout@12 -NtGdiSetPixel@16 -NtGdiSetPixelFormat@8 -NtGdiSetRectRgn@20 -NtGdiSetSystemPaletteUse@8 -NtGdiSetTextJustification@12 -NtGdiSetupPublicCFONT@12 -NtGdiSetVirtualResolution@20 -NtGdiSetSizeDevice@12 -NtGdiStartDoc@16 -NtGdiStartPage@4 -NtGdiStretchBlt@48 -NtGdiStretchDIBitsInternal@64 -NtGdiStrokeAndFillPath@4 -NtGdiStrokePath@4 -NtGdiSwapBuffers@4 -NtGdiTransformPoints@20 -NtGdiTransparentBlt@44 -NtGdiUnloadPrinterDriver@8 -NtGdiUnmapMemFont@4 -NtGdiUnrealizeObject@4 -NtGdiUpdateColors@4 -NtGdiWidenPath@4 -NtUserActivateKeyboardLayout@8 -NtUserAlterWindowStyle@12 -NtUserAssociateInputContext@12 -NtUserAttachThreadInput@12 -NtUserBeginPaint@8 -NtUserBitBltSysBmp@32 -NtUserBlockInput@4 -NtUserBuildHimcList@16 -NtUserBuildHwndList@28 -NtUserBuildNameList@16 -NtUserBuildPropList@16 -NtUserCallHwnd@8 -NtUserCallHwndLock@8 -NtUserCallHwndOpt@8 -NtUserCallHwndParam@12 -NtUserCallHwndParamLock@12 -NtUserCallMsgFilter@8 -NtUserCallNextHookEx@16 -NtUserCallNoParam@4 -NtUserCallOneParam@8 -NtUserCallTwoParam@12 -NtUserChangeClipboardChain@8 -NtUserChangeDisplaySettings@16 -NtUserCheckImeHotKey@8 -NtUserCheckMenuItem@12 -NtUserChildWindowFromPointEx@16 -NtUserClipCursor@4 -NtUserCloseClipboard@0 -NtUserCloseDesktop@4 -NtUserCloseWindowStation@4 -NtUserConsoleControl@12 -NtUserConvertMemHandle@8 -NtUserCopyAcceleratorTable@12 -NtUserCountClipboardFormats@0 -NtUserCreateAcceleratorTable@8 -NtUserCreateCaret@16 -NtUserCreateDesktop@20 -NtUserCreateInputContext@4 -NtUserCreateLocalMemHandle@16 -NtUserCreateWindowEx@60 -NtUserCreateWindowStation@28 -NtUserDdeGetQualityOfService@12 -NtUserDdeInitialize@20 -NtUserDdeSetQualityOfService@12 -NtUserDeferWindowPos@32 -NtUserDefSetText@8 -NtUserDeleteMenu@12 -NtUserDestroyAcceleratorTable@4 -NtUserDestroyCursor@8 -NtUserDestroyInputContext@4 -NtUserDestroyMenu@4 -NtUserDestroyWindow@4 -NtUserDisableThreadIme@4 -NtUserDispatchMessage@4 -NtUserDragDetect@12 -NtUserDragObject@20 -NtUserDrawAnimatedRects@16 -NtUserDrawCaption@16 -NtUserDrawCaptionTemp@28 -NtUserDrawIconEx@44 -NtUserDrawMenuBarTemp@20 -NtUserEmptyClipboard@0 -NtUserEnableMenuItem@12 -NtUserEnableScrollBar@12 -NtUserEndDeferWindowPosEx@8 -NtUserEndMenu@0 -NtUserEndPaint@8 -NtUserEnumDisplayDevices@16 -NtUserEnumDisplayMonitors@16 -NtUserEnumDisplaySettings@16 -NtUserEvent@4 -NtUserExcludeUpdateRgn@8 -NtUserFillWindow@16 -NtUserFindExistingCursorIcon@12 -NtUserFindWindowEx@20 -NtUserFlashWindowEx@4 -NtUserGetAltTabInfo@24 -NtUserGetAncestor@8 -NtUserGetAppImeLevel@4 -NtUserGetAsyncKeyState@4 -NtUserGetAtomName@8 -NtUserGetCaretBlinkTime@0 -NtUserGetCaretPos@4 -NtUserGetClassInfoEx@20 -NtUserGetClassName@12 -NtUserGetClipboardData@8 -NtUserGetClipboardFormatName@12 -NtUserGetClipboardOwner@0 -NtUserGetClipboardSequenceNumber@0 -NtUserGetClipboardViewer@0 -NtUserGetClipCursor@4 -NtUserGetComboBoxInfo@8 -NtUserGetControlBrush@12 -NtUserGetControlColor@16 -NtUserGetCPD@12 -NtUserGetCursorFrameInfo@16 -NtUserGetCursorInfo@4 -NtUserGetDC@4 -NtUserGetDCEx@12 -NtUserGetDoubleClickTime@0 -NtUserGetForegroundWindow@0 -NtUserGetGuiResources@8 -NtUserGetGUIThreadInfo@8 -NtUserGetIconInfo@24 -NtUserGetIconSize@16 -NtUserGetImeHotKey@16 -NtUserGetImeInfoEx@8 -NtUserGetInternalWindowPos@12 -NtUserGetKeyboardLayoutList@8 -NtUserGetKeyboardLayoutName@4 -NtUserGetKeyboardState@4 -NtUserGetKeyNameText@12 -NtUserGetKeyState@4 -NtUserGetListBoxInfo@4 -NtUserGetMenuBarInfo@16 -NtUserGetMenuIndex@8 -NtUserGetMenuItemRect@16 -NtUserGetMessage@16 -NtUserGetMouseMovePointsEx@20 -NtUserGetObjectInformation@20 -NtUserGetOpenClipboardWindow@0 -NtUserGetPriorityClipboardFormat@8 -NtUserGetProcessWindowStation@0 -NtUserGetRawInputBuffer@12 -NtUserGetRawInputData@20 -NtUserGetRawInputDeviceInfo@16 -NtUserGetRawInputDeviceList@12 -NtUserGetRegisteredRawInputDevices@12 -NtUserGetScrollBarInfo@12 -NtUserGetSystemMenu@8 -NtUserGetThreadDesktop@8 -NtUserGetThreadState@4 -NtUserGetTitleBarInfo@8 -NtUserGetUpdateRect@12 -NtUserGetUpdateRgn@12 -NtUserGetWindowDC@4 -NtUserGetWindowPlacement@8 -NtUserGetWOWClass@8 -NtUserHardErrorControl@12 -NtUserHideCaret@4 -NtUserHiliteMenuItem@16 -NtUserImpersonateDdeClientWindow@8 -NtUserInitialize@12 -NtUserInitializeClientPfnArrays@16 -NtUserInitTask@48 -NtUserInternalGetWindowText@12 -NtUserInvalidateRect@12 -NtUserInvalidateRgn@12 -NtUserIsClipboardFormatAvailable@4 -NtUserKillTimer@8 -NtUserLoadKeyboardLayoutEx@28 -NtUserLockWindowStation@4 -NtUserLockWindowUpdate@4 -NtUserLockWorkStation@0 -NtUserMapVirtualKeyEx@16 -NtUserMenuItemFromPoint@16 -NtUserMessageCall@28 -NtUserMinMaximize@12 -NtUserMNDragLeave@0 -NtUserMNDragOver@8 -NtUserModifyUserStartupInfoFlags@8 -NtUserMoveWindow@24 -NtUserNotifyIMEStatus@12 -NtUserNotifyProcessCreate@16 -NtUserNotifyWinEvent@16 -NtUserOpenClipboard@8 -NtUserOpenDesktop@12 -NtUserOpenInputDesktop@12 -NtUserOpenWindowStation@8 -NtUserPaintDesktop@4 -NtUserPeekMessage@20 -NtUserPostMessage@16 -NtUserPostThreadMessage@16 -NtUserPrintWindow@12 -NtUserProcessConnect@12 -NtUserQueryInformationThread@16 -NtUserQueryInputContext@8 -NtUserQuerySendMessage@4 -NtUserQueryWindow@8 -NtUserRealChildWindowFromPoint@12 -NtUserRealInternalGetMessage@24 -NtUserRealWaitMessageEx@8 -NtUserRedrawWindow@16 -NtUserRegisterClassExWOW@28 -NtUserRegisterUserApiHook@16 -NtUserRegisterHotKey@16 -NtUserRegisterRawInputDevices@12 -NtUserRegisterTasklist@4 -NtUserRegisterWindowMessage@4 -NtUserRemoveMenu@12 -NtUserRemoveProp@8 -NtUserResolveDesktop@16 -NtUserResolveDesktopForWOW@4 -NtUserSBGetParms@16 -NtUserScrollDC@28 -NtUserScrollWindowEx@32 -NtUserSelectPalette@12 -NtUserSendInput@12 -NtUserSetActiveWindow@4 -NtUserSetAppImeLevel@8 -NtUserSetCapture@4 -NtUserSetClassLong@16 -NtUserSetClassWord@12 -NtUserSetClipboardData@12 -NtUserSetClipboardViewer@4 -NtUserSetConsoleReserveKeys@8 -NtUserSetCursor@4 -NtUserSetCursorContents@8 -NtUserSetCursorIconData@16 -NtUserSetFocus@4 -NtUserSetImeHotKey@20 -NtUserSetImeInfoEx@4 -NtUserSetImeOwnerWindow@8 -NtUserSetInformationProcess@16 -NtUserSetInformationThread@16 -NtUserSetInternalWindowPos@16 -NtUserSetKeyboardState@4 -NtUserSetLogonNotifyWindow@4 -NtUserSetMenu@12 -NtUserSetMenuContextHelpId@8 -NtUserSetMenuDefaultItem@12 -NtUserSetMenuFlagRtoL@4 -NtUserSetObjectInformation@16 -NtUserSetParent@8 -NtUserSetProcessWindowStation@4 -NtUserSetProp@12 -NtUserSetScrollInfo@16 -NtUserSetShellWindowEx@8 -NtUserSetSysColors@16 -NtUserSetSystemCursor@8 -NtUserSetSystemMenu@8 -NtUserSetSystemTimer@16 -NtUserSetThreadDesktop@4 -NtUserSetThreadLayoutHandles@8 -NtUserSetThreadState@8 -NtUserSetTimer@16 -NtUserSetWindowFNID@8 -NtUserSetWindowLong@16 -NtUserSetWindowPlacement@8 -NtUserSetWindowPos@28 -NtUserSetWindowRgn@12 -NtUserSetWindowsHookAW@12 -NtUserSetWindowsHookEx@24 -NtUserSetWindowStationUser@16 -NtUserSetWindowWord@12 -NtUserSetWinEventHook@32 -NtUserShowCaret@4 -NtUserShowScrollBar@12 -NtUserShowWindow@8 -NtUserShowWindowAsync@8 -NtUserSoundSentry@0 -NtUserSwitchDesktop@4 -NtUserSystemParametersInfo@16 -NtUserTestForInteractiveUser@4 -NtUserThunkedMenuInfo@8 -NtUserThunkedMenuItemInfo@24 -NtUserToUnicodeEx@28 -NtUserTrackMouseEvent@4 -NtUserTrackPopupMenuEx@24 -NtUserCalcMenuBar@20 -NtUserPaintMenuBar@24 -NtUserTranslateAccelerator@12 -NtUserTranslateMessage@8 -NtUserUnhookWindowsHookEx@4 -NtUserUnhookWinEvent@4 -NtUserUnloadKeyboardLayout@4 -NtUserUnlockWindowStation@4 -NtUserUnregisterClass@12 -NtUserUnregisterUserApiHook@0 -NtUserUnregisterHotKey@8 -NtUserUpdateInputContext@12 -NtUserUpdateInstance@12 -NtUserUpdateLayeredWindow@40 -NtUserGetLayeredWindowAttributes@16 -NtUserSetLayeredWindowAttributes@16 -NtUserUpdatePerUserSystemParameters@8 -NtUserUserHandleGrantAccess@12 -NtUserValidateHandleSecure@4 -NtUserValidateRect@8 -NtUserValidateTimerCallback@4 -NtUserVkKeyScanEx@12 -NtUserWaitForInputIdle@12 -NtUserWaitForMsgAndEvent@4 -NtUserWaitMessage@0 -NtUserWin32PoolAllocationStats@24 -NtUserWindowFromPoint@8 -NtUserYieldTask@0 -NtUserRemoteConnect@12 -NtUserRemoteRedrawRectangle@16 -NtUserRemoteRedrawScreen@0 -NtUserRemoteStopScreenUpdates@0 -NtUserCtxDisplayIOCtl@12 -NtGdiEngAssociateSurface@12 -NtGdiEngCreateBitmap@24 -NtGdiEngCreateDeviceSurface@16 -NtGdiEngCreateDeviceBitmap@16 -NtGdiEngCreatePalette@24 -NtGdiEngComputeGlyphSet@12 -NtGdiEngCopyBits@24 -NtGdiEngDeletePalette@4 -NtGdiEngDeleteSurface@4 -NtGdiEngEraseSurface@12 -NtGdiEngUnlockSurface@4 -NtGdiEngLockSurface@4 -NtGdiEngBitBlt@44 -NtGdiEngStretchBlt@44 -NtGdiEngPlgBlt@44 -NtGdiEngMarkBandingSurface@4 -NtGdiEngStrokePath@32 -NtGdiEngFillPath@28 -NtGdiEngStrokeAndFillPath@40 -NtGdiEngPaint@20 -NtGdiEngLineTo@36 -NtGdiEngAlphaBlend@28 -NtGdiEngGradientFill@40 -NtGdiEngTransparentBlt@32 -NtGdiEngTextOut@40 -NtGdiEngStretchBltROP@52 -NtGdiXLATEOBJ_cGetPalette@16 -NtGdiXLATEOBJ_iXlate@8 -NtGdiXLATEOBJ_hGetColorTransform@4 -NtGdiCLIPOBJ_bEnum@12 -NtGdiCLIPOBJ_cEnumStart@20 -NtGdiCLIPOBJ_ppoGetPath@4 -NtGdiEngDeletePath@4 -NtGdiEngCreateClip@0 -NtGdiEngDeleteClip@4 -NtGdiBRUSHOBJ_ulGetBrushColor@4 -NtGdiBRUSHOBJ_pvAllocRbrush@8 -NtGdiBRUSHOBJ_pvGetRbrush@4 -NtGdiBRUSHOBJ_hGetColorTransform@4 -NtGdiXFORMOBJ_bApplyXform@20 -NtGdiXFORMOBJ_iGetXform@8 -NtGdiFONTOBJ_vGetInfo@12 -NtGdiFONTOBJ_pxoGetXform@4 -NtGdiFONTOBJ_cGetGlyphs@20 -NtGdiFONTOBJ_pifi@4 -NtGdiFONTOBJ_pfdg@4 -NtGdiFONTOBJ_pQueryGlyphAttrs@8 -NtGdiFONTOBJ_pvTrueTypeFontFile@8 -NtGdiFONTOBJ_cGetAllGlyphHandles@8 -NtGdiSTROBJ_bEnum@12 -NtGdiSTROBJ_bEnumPositionsOnly@12 -NtGdiSTROBJ_bGetAdvanceWidths@16 -NtGdiSTROBJ_vEnumStart@4 -NtGdiSTROBJ_dwGetCodePage@4 -NtGdiPATHOBJ_vGetBounds@8 -NtGdiPATHOBJ_bEnum@8 -NtGdiPATHOBJ_vEnumStart@4 -NtGdiPATHOBJ_vEnumStartClipLines@16 -NtGdiPATHOBJ_bEnumClipLines@12 -NtGdiGetDhpdev@4 -NtGdiEngCheckAbort@4 -NtGdiHT_Get8BPPFormatPalette@16 -NtGdiHT_Get8BPPMaskPalette@24 -NtGdiUpdateTransform@4 -NtGdiSetPUMPDOBJ@16 -NtGdiBRUSHOBJ_DeleteRbrush@8 -NtGdiUMPDEngFreeUserMem@4 -NtGdiDrawStream@12 -NtGdiMakeObjectXferable@8 -NtGdiMakeObjectUnXferable@4 diff --git a/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.def b/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.def deleted file mode 100644 index c506d71ea98..00000000000 --- a/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.def +++ /dev/null @@ -1,678 +0,0 @@ -; -; ReactOS Operating System -; -; This file contains all win32k native api functions from win xp -; unsupported functions are commented out. -; -LIBRARY w32kdll.dll - -EXPORTS -NtGdiAbortDoc@4 -NtGdiAbortPath@4 -NtGdiAddFontResourceW@24 -NtGdiAddRemoteFontToDC@16 -NtGdiAddFontMemResourceEx@20 -NtGdiRemoveMergeFont@8 -NtGdiAddRemoteMMInstanceToDC@12 -NtGdiAlphaBlend@48 -NtGdiAngleArc@24 -NtGdiAnyLinkedFonts@0 -NtGdiFontIsLinked@4 -NtGdiArcInternal@40 -NtGdiBeginPath@4 -NtGdiBitBlt@44 -NtGdiCancelDC@4 -NtGdiCheckBitmapBits@32 -NtGdiCloseFigure@4 -NtGdiClearBitmapAttributes@8 -NtGdiClearBrushAttributes@8 -NtGdiColorCorrectPalette@24 -NtGdiCombineRgn@16 -NtGdiCombineTransform@12 -NtGdiComputeXformCoefficients@4 -NtGdiConsoleTextOut@16 -NtGdiConvertMetafileRect@8 -NtGdiCreateBitmap@20 -NtGdiCreateClientObj@4 -NtGdiCreateColorSpace@4 -NtGdiCreateColorTransform@32 -NtGdiCreateCompatibleBitmap@12 -NtGdiCreateCompatibleDC@4 -NtGdiCreateDIBBrush@24 -NtGdiCreateDIBitmapInternal@44 -NtGdiCreateDIBSection@36 -NtGdiCreateEllipticRgn@16 -NtGdiCreateHalftonePalette@4 -NtGdiCreateHatchBrushInternal@12 -NtGdiCreateMetafileDC@4 -NtGdiCreatePaletteInternal@8 -NtGdiCreatePatternBrushInternal@12 -NtGdiCreatePen@16 -NtGdiCreateRectRgn@16 -NtGdiCreateRoundRectRgn@24 -NtGdiCreateServerMetaFile@24 -NtGdiCreateSolidBrush@8 -NtGdiD3dContextCreate@16 -NtGdiD3dContextDestroy@4 -NtGdiD3dContextDestroyAll@4 -NtGdiD3dValidateTextureStageState@4 -NtGdiD3dDrawPrimitives2@28 -NtGdiDdGetDriverState@4 -NtGdiDdAddAttachedSurface@12 -NtGdiDdAlphaBlt@12 -NtGdiDdAttachSurface@8 -NtGdiDdBeginMoCompFrame@8 -NtGdiDdBlt@12 -NtGdiDdCanCreateSurface@8 -NtGdiDdCanCreateD3DBuffer@8 -NtGdiDdColorControl@8 -NtGdiDdCreateDirectDrawObject@4 -NtGdiDdCreateSurface@32 -NtGdiDdCreateD3DBuffer@32 -NtGdiDdCreateMoComp@8 -NtGdiDdCreateSurfaceObject@24 -NtGdiDdDeleteDirectDrawObject@4 -NtGdiDdDeleteSurfaceObject@4 -NtGdiDdDestroyMoComp@8 -NtGdiDdDestroySurface@8 -NtGdiDdDestroyD3DBuffer@4 -NtGdiDdEndMoCompFrame@8 -NtGdiDdFlip@20 -NtGdiDdFlipToGDISurface@8 -NtGdiDdGetAvailDriverMemory@8 -NtGdiDdGetBltStatus@8 -NtGdiDdGetDC@8 -NtGdiDdGetDriverInfo@8 -NtGdiDdGetDxHandle@12 -NtGdiDdGetFlipStatus@8 -NtGdiDdGetInternalMoCompInfo@8 -NtGdiDdGetMoCompBuffInfo@8 -NtGdiDdGetMoCompGuids@8 -NtGdiDdGetMoCompFormats@8 -NtGdiDdGetScanLine@8 -NtGdiDdLock@12 -NtGdiDdLockD3D@8 -NtGdiDdQueryDirectDrawObject@44 -NtGdiDdQueryMoCompStatus@8 -NtGdiDdReenableDirectDrawObject@8 -NtGdiDdReleaseDC@4 -NtGdiDdRenderMoComp@8 -NtGdiDdResetVisrgn@8 -NtGdiDdSetColorKey@8 -NtGdiDdSetExclusiveMode@8 -NtGdiDdSetGammaRamp@12 -NtGdiDdCreateSurfaceEx@12 -NtGdiDdSetOverlayPosition@12 -NtGdiDdUnattachSurface@8 -NtGdiDdUnlock@8 -NtGdiDdUnlockD3D@8 -NtGdiDdUpdateOverlay@12 -NtGdiDdWaitForVerticalBlank@8 -NtGdiDvpCanCreateVideoPort@8 -NtGdiDvpColorControl@8 -NtGdiDvpCreateVideoPort@8 -NtGdiDvpDestroyVideoPort@8 -NtGdiDvpFlipVideoPort@16 -NtGdiDvpGetVideoPortBandwidth@8 -NtGdiDvpGetVideoPortField@8 -NtGdiDvpGetVideoPortFlipStatus@8 -NtGdiDvpGetVideoPortInputFormats@8 -NtGdiDvpGetVideoPortLine@8 -NtGdiDvpGetVideoPortOutputFormats@8 -NtGdiDvpGetVideoPortConnectInfo@8 -NtGdiDvpGetVideoSignalStatus@8 -NtGdiDvpUpdateVideoPort@16 -NtGdiDvpWaitForVideoPortSync@8 -NtGdiDvpAcquireNotification@12 -NtGdiDvpReleaseNotification@8 -NtGdiDxgGenericThunk@24 -NtGdiDeleteClientObj@4 -NtGdiDeleteColorSpace@4 -NtGdiDeleteColorTransform@8 -NtGdiDeleteObjectApp@4 -NtGdiDescribePixelFormat@16 -NtGdiGetPerBandInfo@8 -NtGdiDoBanding@16 -NtGdiDoPalette@24 -NtGdiDrawEscape@16 -NtGdiEllipse@20 -NtGdiEnableEudc@4 -NtGdiEndDoc@4 -NtGdiEndPage@4 -NtGdiEndPath@4 -NtGdiEnumFontChunk@20 -NtGdiEnumFontClose@4 -NtGdiEnumFontOpen@28 -NtGdiEnumObjects@16 -NtGdiEqualRgn@8 -NtGdiEudcLoadUnloadLink@28 -NtGdiExcludeClipRect@20 -NtGdiExtCreatePen@44 -NtGdiExtCreateRegion@12 -NtGdiExtEscape@32 -NtGdiExtFloodFill@20 -NtGdiExtGetObjectW@12 -NtGdiExtSelectClipRgn@12 -NtGdiExtTextOutW@36 -NtGdiFillPath@4 -NtGdiFillRgn@12 -NtGdiFlattenPath@4 -NtGdiFlushUserBatch@0 -NtGdiFlush@0 -NtGdiForceUFIMapping@8 -NtGdiFrameRgn@20 -NtGdiFullscreenControl@20 -NtGdiGetAndSetDCDword@16 -NtGdiGetAppClipBox@8 -NtGdiGetBitmapBits@12 -NtGdiGetBitmapDimension@8 -NtGdiGetBoundsRect@12 -NtGdiGetCharABCWidthsW@24 -NtGdiGetCharacterPlacementW@24 -NtGdiGetCharSet@4 -NtGdiGetCharWidthW@24 -NtGdiGetCharWidthInfo@8 -NtGdiGetColorAdjustment@8 -NtGdiGetColorSpaceforBitmap@4 -NtGdiGetDCDword@12 -NtGdiGetDCforBitmap@4 -NtGdiGetDCObject@8 -NtGdiGetDCPoint@12 -NtGdiGetDeviceCaps@8 -NtGdiGetDeviceGammaRamp@8 -NtGdiGetDeviceCapsAll@8 -NtGdiGetDIBitsInternal@36 -NtGdiGetETM@8 -NtGdiGetEudcTimeStampEx@12 -NtGdiGetFontData@20 -NtGdiGetFontResourceInfoInternalW@28 -NtGdiGetGlyphIndicesW@20 -NtGdiGetGlyphIndicesWInternal@24 -NtGdiGetGlyphOutline@32 -NtGdiGetKerningPairs@12 -NtGdiGetLinkedUFIs@12 -NtGdiGetMiterLimit@8 -NtGdiGetMonitorID@12 -NtGdiGetNearestColor@8 -NtGdiGetNearestPaletteIndex@8 -NtGdiGetObjectBitmapHandle@8 -NtGdiGetOutlineTextMetricsInternalW@16 -NtGdiGetPath@16 -NtGdiGetPixel@12 -NtGdiGetRandomRgn@12 -NtGdiGetRasterizerCaps@8 -NtGdiGetRealizationInfo@12 -NtGdiGetRegionData@12 -NtGdiGetRgnBox@8 -NtGdiGetServerMetaFileBits@28 -NtGdiGetSpoolMessage@16 -NtGdiGetStats@20 -NtGdiGetStockObject@4 -NtGdiGetStringBitmapW@20 -NtGdiGetSystemPaletteUse@4 -NtGdiGetTextCharsetInfo@12 -NtGdiGetTextExtent@20 -NtGdiGetTextExtentExW@32 -NtGdiGetTextFaceW@16 -NtGdiGetTextMetricsW@12 -NtGdiGetTransform@12 -NtGdiGetUFI@24 -NtGdiGetEmbUFI@28 -NtGdiGetUFIPathname@40 -NtGdiGetEmbedFonts@0 -NtGdiChangeGhostFont@8 -NtGdiAddEmbFontToDC@8 -NtGdiGetFontUnicodeRanges@8 -NtGdiGetWidthTable@28 -NtGdiGradientFill@24 -NtGdiHfontCreate@20 -NtGdiIcmBrushInfo@32 -NtGdiInit@0 -NtGdiInitSpool@0 -NtGdiIntersectClipRect@20 -NtGdiInvertRgn@8 -NtGdiLineTo@12 -NtGdiMakeFontDir@20 -NtGdiMakeInfoDC@8 -NtGdiMaskBlt@52 -NtGdiModifyWorldTransform@12 -NtGdiMonoBitmap@4 -NtGdiMoveTo@16 -NtGdiOffsetClipRgn@12 -NtGdiOffsetRgn@12 -NtGdiOpenDCW@32 -NtGdiPatBlt@24 -NtGdiPolyPatBlt@20 -NtGdiPathToRegion@4 -NtGdiPlgBlt@44 -NtGdiPolyDraw@16 -NtGdiPolyPolyDraw@20 -NtGdiPolyTextOutW@16 -NtGdiPtInRegion@12 -NtGdiPtVisible@12 -NtGdiQueryFonts@12 -NtGdiQueryFontAssocInfo@4 -NtGdiRectangle@20 -NtGdiRectInRegion@8 -NtGdiRectVisible@8 -NtGdiRemoveFontResourceW@24 -NtGdiRemoveFontMemResourceEx@4 -NtGdiResetDC@20 -NtGdiResizePalette@8 -NtGdiRestoreDC@8 -NtGdiRoundRect@28 -NtGdiSaveDC@4 -NtGdiScaleViewportExtEx@24 -NtGdiScaleWindowExtEx@24 -NtGdiSelectBitmap@8 -NtGdiSelectBrush@8 -NtGdiSelectClipPath@8 -NtGdiSelectFont@8 -NtGdiSelectPen@8 -NtGdiSetBitmapAttributes@8 -NtGdiSetBitmapBits@12 -NtGdiSetBitmapDimension@16 -NtGdiSetBoundsRect@12 -NtGdiSetBrushAttributes@8 -NtGdiSetBrushOrg@16 -NtGdiSetColorAdjustment@8 -NtGdiSetColorSpace@8 -NtGdiSetDeviceGammaRamp@8 -NtGdiSetDIBitsToDeviceInternal@64 -NtGdiSetFontEnumeration@4 -NtGdiSetFontXform@12 -NtGdiSetIcmMode@12 -NtGdiSetLinkedUFIs@12 -NtGdiSetMagicColors@12 -NtGdiSetMetaRgn@4 -NtGdiSetMiterLimit@12 -NtGdiGetDeviceWidth@4 -NtGdiMirrorWindowOrg@4 -NtGdiSetLayout@12 -NtGdiSetPixel@16 -NtGdiSetPixelFormat@8 -NtGdiSetRectRgn@20 -NtGdiSetSystemPaletteUse@8 -NtGdiSetTextJustification@12 -NtGdiSetupPublicCFONT@12 -NtGdiSetVirtualResolution@20 -NtGdiSetSizeDevice@12 -NtGdiStartDoc@16 -NtGdiStartPage@4 -NtGdiStretchBlt@48 -NtGdiStretchDIBitsInternal@64 -NtGdiStrokeAndFillPath@4 -NtGdiStrokePath@4 -NtGdiSwapBuffers@4 -NtGdiTransformPoints@20 -NtGdiTransparentBlt@44 -NtGdiUnloadPrinterDriver@8 -NtGdiUnmapMemFont@4 -NtGdiUnrealizeObject@4 -NtGdiUpdateColors@4 -NtGdiWidenPath@4 -NtUserActivateKeyboardLayout@8 -NtUserAlterWindowStyle@12 -NtUserAssociateInputContext@12 -NtUserAttachThreadInput@12 -NtUserBeginPaint@8 -NtUserBitBltSysBmp@32 -NtUserBlockInput@4 -NtUserBuildHimcList@16 -NtUserBuildHwndList@28 -NtUserBuildNameList@16 -NtUserBuildPropList@16 -NtUserCallHwnd@8 -NtUserCallHwndLock@8 -NtUserCallHwndOpt@8 -NtUserCallHwndParam@12 -NtUserCallHwndParamLock@12 -NtUserCallMsgFilter@8 -NtUserCallNextHookEx@16 -NtUserCallNoParam@4 -NtUserCallOneParam@8 -NtUserCallTwoParam@12 -NtUserChangeClipboardChain@8 -NtUserChangeDisplaySettings@20 -NtUserCheckImeHotKey@8 -NtUserCheckMenuItem@12 -NtUserChildWindowFromPointEx@16 -NtUserClipCursor@4 -NtUserCloseClipboard@0 -NtUserCloseDesktop@4 -NtUserCloseWindowStation@4 -NtUserConsoleControl@12 -NtUserConvertMemHandle@8 -NtUserCopyAcceleratorTable@12 -NtUserCountClipboardFormats@0 -NtUserCreateAcceleratorTable@8 -NtUserCreateCaret@16 -NtUserCreateDesktop@20 -NtUserCreateInputContext@4 -NtUserCreateLocalMemHandle@16 -NtUserCreateWindowEx@60 -NtUserCreateWindowStation@28 -NtUserDdeGetQualityOfService@12 -NtUserDdeInitialize@20 -NtUserDdeSetQualityOfService@12 -NtUserDeferWindowPos@32 -NtUserDefSetText@8 -NtUserDeleteMenu@12 -NtUserDestroyAcceleratorTable@4 -NtUserDestroyCursor@8 -NtUserDestroyInputContext@4 -NtUserDestroyMenu@4 -NtUserDestroyWindow@4 -NtUserDisableThreadIme@4 -NtUserDispatchMessage@4 -NtUserDragDetect@12 -NtUserDragObject@20 -NtUserDrawAnimatedRects@16 -NtUserDrawCaption@16 -NtUserDrawCaptionTemp@28 -NtUserDrawIconEx@44 -NtUserDrawMenuBarTemp@20 -NtUserEmptyClipboard@0 -NtUserEnableMenuItem@12 -NtUserEnableScrollBar@12 -NtUserEndDeferWindowPosEx@8 -NtUserEndMenu@0 -NtUserEndPaint@8 -NtUserEnumDisplayDevices@16 -;NtUserEnumDisplayMonitors@16 -NtUserEnumDisplaySettings@16 -NtUserEvent@4 -NtUserExcludeUpdateRgn@8 -NtUserFillWindow@16 -;NtUserFindExistingCursorIcon@12 -NtUserFindWindowEx@20 -NtUserFlashWindowEx@4 -NtUserGetAltTabInfo@24 -NtUserGetAncestor@8 -;NtUserGetAppImeLevel@4 -NtUserGetAsyncKeyState@4 -NtUserGetAtomName@8 -NtUserGetCaretBlinkTime@0 -NtUserGetCaretPos@4 -;NtUserGetClassInfo@20 -NtUserGetClassName@12 -NtUserGetClipboardData@8 -NtUserGetClipboardFormatName@12 -NtUserGetClipboardOwner@0 -NtUserGetClipboardSequenceNumber@0 -NtUserGetClipboardViewer@0 -NtUserGetClipCursor@4 -NtUserGetComboBoxInfo@8 -NtUserGetControlBrush@12 -NtUserGetControlColor@16 -NtUserGetCPD@12 -NtUserGetCursorFrameInfo@16 -NtUserGetCursorInfo@4 -NtUserGetDC@4 -NtUserGetDCEx@12 -NtUserGetDoubleClickTime@0 -NtUserGetForegroundWindow@0 -NtUserGetGuiResources@8 -NtUserGetGUIThreadInfo@8 -NtUserGetIconInfo@24 -NtUserGetIconSize@16 -NtUserGetImeHotKey@16 -NtUserGetImeInfoEx@8 -NtUserGetInternalWindowPos@12 -NtUserGetKeyboardLayoutList@8 -NtUserGetKeyboardLayoutName@4 -NtUserGetKeyboardState@4 -NtUserGetKeyNameText@12 -NtUserGetKeyState@4 -NtUserGetListBoxInfo@4 -NtUserGetMenuBarInfo@16 -NtUserGetMenuIndex@8 -NtUserGetMenuItemRect@16 -NtUserGetMessage@16 -NtUserGetMouseMovePointsEx@20 -NtUserGetObjectInformation@20 -NtUserGetOpenClipboardWindow@0 -NtUserGetPriorityClipboardFormat@8 -NtUserGetProcessWindowStation@0 -NtUserGetRawInputBuffer@12 -NtUserGetRawInputData@20 -NtUserGetRawInputDeviceInfo@16 -NtUserGetRawInputDeviceList@12 -NtUserGetRegisteredRawInputDevices@12 -NtUserGetScrollBarInfo@12 -NtUserGetSystemMenu@8 -NtUserGetThreadDesktop@8 -NtUserGetThreadState@4 -NtUserGetTitleBarInfo@8 -NtUserGetUpdateRect@12 -NtUserGetUpdateRgn@12 -NtUserGetWindowDC@4 -NtUserGetWindowPlacement@8 -NtUserGetWOWClass@8 -NtUserHardErrorControl@12 -NtUserHideCaret@4 -NtUserHiliteMenuItem@16 -NtUserImpersonateDdeClientWindow@8 -NtUserInitialize@12 -NtUserInitializeClientPfnArrays@16 -;NtUserInitTask@48 -NtUserInternalGetWindowText@12 -NtUserInvalidateRect@12 -NtUserInvalidateRgn@12 -NtUserIsClipboardFormatAvailable@4 -NtUserKillTimer@8 -NtUserLoadKeyboardLayoutEx@28 -NtUserLockWindowStation@4 -NtUserLockWindowUpdate@4 -NtUserLockWorkStation@0 -NtUserMapVirtualKeyEx@16 -NtUserMenuItemFromPoint@16 -NtUserMessageCall@28 -NtUserMinMaximize@12 -NtUserMNDragLeave@0 -NtUserMNDragOver@8 -NtUserModifyUserStartupInfoFlags@8 -NtUserMoveWindow@24 -NtUserNotifyIMEStatus@12 -NtUserNotifyProcessCreate@16 -NtUserNotifyWinEvent@16 -NtUserOpenClipboard@8 -NtUserOpenDesktop@12 -NtUserOpenInputDesktop@12 -NtUserOpenWindowStation@8 -NtUserPaintDesktop@4 -NtUserPeekMessage@20 -NtUserPostMessage@16 -NtUserPostThreadMessage@16 -NtUserPrintWindow@12 -NtUserProcessConnect@12 -NtUserQueryInformationThread@20 -NtUserQueryInputContext@8 -NtUserQuerySendMessage@4 -NtUserQueryUserCounters@20 -NtUserQueryWindow@8 -NtUserRealChildWindowFromPoint@12 -NtUserRealInternalGetMessage@24 -NtUserRealWaitMessageEx@8 -NtUserRedrawWindow@16 -NtUserRegisterClassExWOW@28 -NtUserRegisterUserApiHook@16 -NtUserRegisterHotKey@16 -NtUserRegisterRawInputDevices@12 -NtUserRegisterTasklist@4 -NtUserRegisterWindowMessage@4 -NtUserRemoveMenu@12 -NtUserRemoveProp@8 -NtUserResolveDesktop@16 -NtUserResolveDesktopForWOW@4 -NtUserSBGetParms@16 -NtUserScrollDC@28 -NtUserScrollWindowEx@32 -NtUserSelectPalette@12 -NtUserSendInput@12 -NtUserSetActiveWindow@4 -NtUserSetAppImeLevel@8 -NtUserSetCapture@4 -NtUserSetClassLong@16 -NtUserSetClassWord@12 -NtUserSetClipboardData@12 -NtUserSetClipboardViewer@4 -NtUserSetConsoleReserveKeys@8 -NtUserSetCursor@4 -NtUserSetCursorContents@8 -;NtUserSetCursorIconData@16 -NtUserSetDbgTag@8 -NtUserSetFocus@4 -NtUserSetImeHotKey@20 -NtUserSetImeInfoEx@4 -NtUserSetImeOwnerWindow@8 -NtUserSetInformationProcess@16 -NtUserSetInformationThread@16 -NtUserSetInternalWindowPos@16 -NtUserSetKeyboardState@4 -NtUserSetLogonNotifyWindow@4 -NtUserSetMenu@12 -NtUserSetMenuContextHelpId@8 -NtUserSetMenuDefaultItem@12 -NtUserSetMenuFlagRtoL@4 -NtUserSetObjectInformation@16 -NtUserSetParent@8 -NtUserSetProcessWindowStation@4 -NtUserSetProp@12 -NtUserSetRipFlags@8 -NtUserSetScrollInfo@16 -NtUserSetShellWindowEx@8 -NtUserSetSysColors@16 -NtUserSetSystemCursor@8 -NtUserSetSystemMenu@8 -NtUserSetSystemTimer@16 -NtUserSetThreadDesktop@4 -NtUserSetThreadLayoutHandles@8 -NtUserSetThreadState@8 -NtUserSetTimer@16 -NtUserSetWindowFNID@8 -NtUserSetWindowLong@16 -NtUserSetWindowPlacement@8 -NtUserSetWindowPos@28 -NtUserSetWindowRgn@12 -NtUserSetWindowsHookAW@12 -NtUserSetWindowsHookEx@24 -NtUserSetWindowStationUser@16 -NtUserSetWindowWord@12 -NtUserSetWinEventHook@32 -NtUserShowCaret@4 -NtUserShowScrollBar@12 -NtUserShowWindow@8 -NtUserShowWindowAsync@8 -NtUserSoundSentry@0 -NtUserSwitchDesktop@4 -NtUserSystemParametersInfo@16 -NtUserTestForInteractiveUser@4 -NtUserThunkedMenuInfo@8 -NtUserThunkedMenuItemInfo@24 -NtUserToUnicodeEx@28 -NtUserTrackMouseEvent@4 -NtUserTrackPopupMenuEx@24 -NtUserCalcMenuBar@20 -NtUserPaintMenuBar@24 -NtUserTranslateAccelerator@12 -NtUserTranslateMessage@8 -NtUserUnhookWindowsHookEx@4 -NtUserUnhookWinEvent@4 -NtUserUnloadKeyboardLayout@4 -NtUserUnlockWindowStation@4 -;NtUserUnregisterClass@12 -NtUserUnregisterUserApiHook@0 -NtUserUnregisterHotKey@8 -NtUserUpdateInputContext@12 -NtUserUpdateInstance@12 -NtUserUpdateLayeredWindow@40 -NtUserGetLayeredWindowAttributes@16 -NtUserSetLayeredWindowAttributes@16 -NtUserUpdatePerUserSystemParameters@8 -NtUserUserHandleGrantAccess@12 -NtUserValidateHandleSecure@8 -NtUserValidateRect@8 -NtUserValidateTimerCallback@12 -NtUserVkKeyScanEx@12 -NtUserWaitForInputIdle@12 -NtUserWaitForMsgAndEvent@4 -NtUserWaitMessage@0 -NtUserWin32PoolAllocationStats@24 -NtUserWindowFromPoint@8 -NtUserYieldTask@0 -NtUserRemoteConnect@12 -NtUserRemoteRedrawRectangle@16 -NtUserRemoteRedrawScreen@0 -NtUserRemoteStopScreenUpdates@0 -NtUserCtxDisplayIOCtl@12 -NtGdiEngAssociateSurface@12 -NtGdiEngCreateBitmap@24 -NtGdiEngCreateDeviceSurface@16 -NtGdiEngCreateDeviceBitmap@16 -NtGdiEngCreatePalette@24 -NtGdiEngComputeGlyphSet@12 -NtGdiEngCopyBits@24 -NtGdiEngDeletePalette@4 -NtGdiEngDeleteSurface@4 -NtGdiEngEraseSurface@12 -NtGdiEngUnlockSurface@4 -NtGdiEngLockSurface@4 -NtGdiEngBitBlt@44 -NtGdiEngStretchBlt@44 -NtGdiEngPlgBlt@44 -NtGdiEngMarkBandingSurface@4 -NtGdiEngStrokePath@32 -NtGdiEngFillPath@28 -NtGdiEngStrokeAndFillPath@40 -NtGdiEngPaint@20 -NtGdiEngLineTo@36 -NtGdiEngAlphaBlend@28 -NtGdiEngGradientFill@40 -NtGdiEngTransparentBlt@32 -NtGdiEngTextOut@40 -NtGdiEngStretchBltROP@52 -NtGdiXLATEOBJ_cGetPalette@16 -NtGdiXLATEOBJ_iXlate@8 -NtGdiXLATEOBJ_hGetColorTransform@4 -NtGdiCLIPOBJ_bEnum@12 -NtGdiCLIPOBJ_cEnumStart@20 -NtGdiCLIPOBJ_ppoGetPath@4 -NtGdiEngDeletePath@4 -NtGdiEngCreateClip@0 -NtGdiEngDeleteClip@4 -NtGdiBRUSHOBJ_ulGetBrushColor@4 -NtGdiBRUSHOBJ_pvAllocRbrush@8 -NtGdiBRUSHOBJ_pvGetRbrush@4 -NtGdiBRUSHOBJ_hGetColorTransform@4 -NtGdiXFORMOBJ_bApplyXform@20 -NtGdiXFORMOBJ_iGetXform@8 -NtGdiFONTOBJ_vGetInfo@12 -NtGdiFONTOBJ_pxoGetXform@4 -NtGdiFONTOBJ_cGetGlyphs@20 -NtGdiFONTOBJ_pifi@4 -NtGdiFONTOBJ_pfdg@4 -NtGdiFONTOBJ_pQueryGlyphAttrs@8 -NtGdiFONTOBJ_pvTrueTypeFontFile@8 -NtGdiFONTOBJ_cGetAllGlyphHandles@8 -NtGdiSTROBJ_bEnum@12 -NtGdiSTROBJ_bEnumPositionsOnly@12 -NtGdiSTROBJ_bGetAdvanceWidths@16 -NtGdiSTROBJ_vEnumStart@4 -NtGdiSTROBJ_dwGetCodePage@4 -NtGdiPATHOBJ_vGetBounds@8 -NtGdiPATHOBJ_bEnum@8 -NtGdiPATHOBJ_vEnumStart@4 -NtGdiPATHOBJ_vEnumStartClipLines@16 -NtGdiPATHOBJ_bEnumClipLines@12 -NtGdiGetDhpdev@4 -NtGdiEngCheckAbort@4 -NtGdiHT_Get8BPPFormatPalette@16 -NtGdiHT_Get8BPPMaskPalette@24 -NtGdiUpdateTransform@4 -NtGdiSetPUMPDOBJ@16 -NtGdiBRUSHOBJ_DeleteRbrush@8 -NtGdiUMPDEngFreeUserMem@4 -NtGdiUnmapMemFont@4 -NtGdiDrawStream@12 - diff --git a/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec b/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec index 20f67f548f2..c75d365322e 100644 --- a/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec +++ b/rostests/apitests/w32kdll/w32kdll_ros/w32kdll_ros.spec @@ -1,7 +1,7 @@ ; ; ReactOS Operating System ; -; This file contains all win32k native api functions from win 2003 sp2 +; This file contains all win32k native api functions from ReactOS ; Unsupported functions are commented out ; @@ -377,7 +377,7 @@ @ stdcall NtUserEndMenu() @ stdcall NtUserEndPaint(ptr ptr) @ stdcall NtUserEnumDisplayDevices(ptr long ptr long) -@ stdcall NtUserEnumDisplayMonitors(ptr ptr ptr ptr) # FIXME: 4 on XP +; @ stdcall NtUserEnumDisplayMonitors(ptr ptr ptr ptr) # FIXME: 4 on XP @ stdcall NtUserEnumDisplaySettings(ptr long ptr long) @ stdcall NtUserEvent(long) @ stdcall NtUserExcludeUpdateRgn(ptr ptr) @@ -597,7 +597,6 @@ @ stdcall NtUserWaitForMsgAndEvent(long) @ stdcall NtUserWaitMessage() @ stdcall NtUserWin32PoolAllocationStats(long long long long long long) -@ stdcall NtUserWindowFromPhysicalPoint(ptr ptr) # Vista @ stdcall NtUserWindowFromPoint(long long) @ stdcall NtUserYieldTask() @ stdcall NtUserRemoteConnect(long long long) diff --git a/rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h b/rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h index 1dac35fa701..3b6db971587 100644 --- a/rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h +++ b/rostests/apitests/w32kdll/w32kdll_ros/win32ksvc-ros.h @@ -1,6 +1,6 @@ // SVC_(, ) // -// Funcs order, should, match, Windows, XP, 5.1.2600, SP2) +// Funcs order should match Windows XP 5.1.2600 SP2 // SVC_(GdiAbortDoc, 1) SVC_(GdiAbortPath, 1) @@ -235,7 +235,7 @@ SVC_(GdiMonoBitmap, 1) SVC_(GdiMoveTo, 4) SVC_(GdiOffsetClipRgn, 3) SVC_(GdiOffsetRgn, 3) -SVC_(GdiOpenDCW, 8) /* FIXME: 7 params on XP */ +SVC_(GdiOpenDCW, 8) /* FIXME: 7 params on XP/2k3 */ SVC_(GdiPatBlt, 6) SVC_(GdiPolyPatBlt, 5) SVC_(GdiPathToRegion, 1) @@ -374,7 +374,7 @@ SVC_(UserEndDeferWindowPosEx, 2) SVC_(UserEndMenu, 0) SVC_(UserEndPaint, 2) SVC_(UserEnumDisplayDevices, 4) -SVC_(UserEnumDisplayMonitors, 5) /* FIXME: 4 on XP */ +SVC_(UserEnumDisplayMonitors, 5) /* FIXME: 4 on XP/2k3 */ SVC_(UserEnumDisplaySettings, 4) SVC_(UserEvent, 1) SVC_(UserExcludeUpdateRgn, 2) @@ -495,7 +495,7 @@ SVC_(UserRealInternalGetMessage, 6) SVC_(UserRealWaitMessageEx, 2) SVC_(UserRedrawWindow, 4) SVC_(UserRegisterClassExWOW, 7) -SVC_(UserRegisterUserApiHook, 4) /* FIXME: 2 params on XP */ +SVC_(UserRegisterUserApiHook, 4) /* Note: 2 params on XP, 4 on 2k3 */ SVC_(UserRegisterHotKey, 4) SVC_(UserRegisterRawInputDevices, 3) SVC_(UserRegisterTasklist, 1) @@ -589,7 +589,7 @@ SVC_(UserUnregisterUserApiHook, 0) SVC_(UserUnregisterHotKey, 2) SVC_(UserUpdateInputContext, 3) SVC_(UserUpdateInstance, 3) -SVC_(UserUpdateLayeredWindow, 10) /* FIXME: 9 params on XP */ +SVC_(UserUpdateLayeredWindow, 10) /* Note: 9 params on XP, 10 on 2k3 */ SVC_(UserGetLayeredWindowAttributes, 4) SVC_(UserSetLayeredWindowAttributes, 4) SVC_(UserUpdatePerUserSystemParameters, 2) @@ -602,7 +602,6 @@ SVC_(UserWaitForInputIdle, 3) SVC_(UserWaitForMsgAndEvent, 1) SVC_(UserWaitMessage, 0) SVC_(UserWin32PoolAllocationStats, 6) -SVC_(UserWindowFromPhysicalPoint, 2) // Vista SVC_(UserWindowFromPoint, 2) SVC_(UserYieldTask, 0) SVC_(UserRemoteConnect, 3) @@ -687,11 +686,7 @@ SVC_(GdiGetFontFamilyInfo, 4) SVC_(GdiOffsetViewportOrgEx, 4) SVC_(GdiOffsetWindowOrgEx, 4) -SVC_(UserBuildMenuItemList, 4) -SVC_(UserGetMenuDefaultItem, 3) SVC_(UserGetMonitorInfo, 2) -SVC_(UserMenuInfo, 3) -SVC_(UserMenuItemInfo, 5) SVC_(UserMonitorFromPoint, 3) SVC_(UserMonitorFromRect, 2) SVC_(UserMonitorFromWindow, 2) From a5cffd254245f82ec9aaaedb6deaa891b0305cfd Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 21:26:26 +0000 Subject: [PATCH 016/120] [MCISEQ] Silence a warning [CMAKE] Get rid of -Wtype-limits, it's noisy, it doesn't provide any reasonable benefit and it's almost impossible to "fix" these warnings without huge haxxory. svn path=/trunk/; revision=63520 --- reactos/cmake/gcc.cmake | 2 +- reactos/dll/win32/mciseq/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/cmake/gcc.cmake b/reactos/cmake/gcc.cmake index 9b534c5a516..d3b6a062ed8 100644 --- a/reactos/cmake/gcc.cmake +++ b/reactos/cmake/gcc.cmake @@ -88,7 +88,7 @@ if(NOT CMAKE_C_COMPILER_ID STREQUAL "Clang") add_compile_flags("-Wno-error=unused-but-set-variable") endif() -add_compile_flags("-Wtype-limits -Wno-error=type-limits") +add_compile_flags("-Wno-error=type-limits") if(ARCH STREQUAL "amd64") add_compile_flags("-Wno-format") diff --git a/reactos/dll/win32/mciseq/CMakeLists.txt b/reactos/dll/win32/mciseq/CMakeLists.txt index ee5a095d385..c9cf715b6d6 100644 --- a/reactos/dll/win32/mciseq/CMakeLists.txt +++ b/reactos/dll/win32/mciseq/CMakeLists.txt @@ -15,5 +15,5 @@ add_importlibs(mciseq winmm user32 msvcrt kernel32 ntdll) add_cd_file(TARGET mciseq DESTINATION reactos/system32 FOR all) if(NOT MSVC) - add_target_compile_flags(mciseq "-Wno-error=overflow") + add_target_compile_flags(mciseq "-Wno-overflow") endif() From 629a0fd9c0db1cca07d42b5d3f873fc8cdb14379 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 21:39:36 +0000 Subject: [PATCH 017/120] {CRT] - Treat ARM like x64 in excpt.h - Give Clang the right __CRT_INLINE definition svn path=/trunk/; revision=63521 --- reactos/include/crt/_mingw.h | 2 +- reactos/include/crt/excpt.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/include/crt/_mingw.h b/reactos/include/crt/_mingw.h index 40b8b11ed39..4ee69fcb46b 100644 --- a/reactos/include/crt/_mingw.h +++ b/reactos/include/crt/_mingw.h @@ -56,7 +56,7 @@ #elif defined(_MSC_VER) # define __CRT_INLINE __inline #elif defined(__GNUC__) -# if ( __MINGW_GNUC_PREREQ(4, 3) && __STDC_VERSION__ >= 199901L) +# if defined(__clang__) || ( __MINGW_GNUC_PREREQ(4, 3) && __STDC_VERSION__ >= 199901L) # define __CRT_INLINE extern inline __attribute__((__always_inline__,__gnu_inline__)) # else # define __CRT_INLINE extern __inline__ __attribute__((__always_inline__)) diff --git a/reactos/include/crt/excpt.h b/reactos/include/crt/excpt.h index 355a077b738..23a4477527f 100644 --- a/reactos/include/crt/excpt.h +++ b/reactos/include/crt/excpt.h @@ -53,7 +53,7 @@ typedef enum _EXCEPTION_DISPOSITION _Inout_ struct _DISPATCHER_CONTEXT *_DispatcherContext, _In_ unsigned __int64 _GlobalPointer); -#elif defined(__x86_64) +#elif defined(__x86_64) || defined(_M_ARM) struct _EXCEPTION_RECORD; struct _CONTEXT; From b6cc5b5b5953fc0a88cc6d1943f2f67532be717c Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 31 May 2014 21:52:30 +0000 Subject: [PATCH 018/120] [PSDK] Add annotation to HRESULT typedef, add a number of missing typedefs and defines, make RTL_CONSTANT_STRING and RTL_NUMBER_OF_V2 more secure by adding compiler checks for common errors, make use of intrinsics for some 64 bit shift macros. svn path=/trunk/; revision=63522 --- reactos/include/psdk/ntdef.h | 263 +++++++++++++++++++++++++++++------ 1 file changed, 217 insertions(+), 46 deletions(-) diff --git a/reactos/include/psdk/ntdef.h b/reactos/include/psdk/ntdef.h index 9cd018b6cda..3eb52df66a2 100644 --- a/reactos/include/psdk/ntdef.h +++ b/reactos/include/psdk/ntdef.h @@ -295,7 +295,7 @@ extern "C" { #endif /* DECLSPEC_NOINLINE */ #if !defined(_M_CEE_PURE) -#define NTAPI_INLINE NTAPI +#define NTAPI_INLINE NTAPI #else #define NTAPI_INLINE #endif @@ -416,52 +416,62 @@ typedef long LONG; typedef int INT; #endif #endif -typedef double DOUBLE; + +/* Avoid redefinition in windef.h */ +#define BASETYPES /* Unsigned Types */ typedef unsigned char UCHAR, *PUCHAR; typedef unsigned short USHORT, *PUSHORT; typedef unsigned long ULONG, *PULONG; + typedef CONST UCHAR *PCUCHAR; typedef CONST USHORT *PCUSHORT; typedef CONST ULONG *PCULONG; -typedef UCHAR FCHAR; -typedef USHORT FSHORT; -typedef ULONG FLONG; -typedef UCHAR BOOLEAN, *PBOOLEAN; -typedef ULONG LOGICAL; -typedef ULONG *PLOGICAL; + +typedef double DOUBLE; /* Signed Types */ typedef SHORT *PSHORT; typedef LONG *PLONG; -typedef _Return_type_success_(return >= 0) LONG NTSTATUS; -typedef NTSTATUS *PNTSTATUS; -typedef signed char SCHAR; -typedef SCHAR *PSCHAR; + +/* Flag types */ +typedef unsigned char FCHAR; +typedef unsigned short FSHORT; +typedef unsigned long FLONG; + +typedef unsigned char BOOLEAN, *PBOOLEAN; +typedef ULONG LOGICAL, *PLOGICAL; +typedef _Return_type_success_(return >= 0) LONG NTSTATUS, *PNTSTATUS;; +typedef signed char SCHAR, *PSCHAR; #ifndef _HRESULT_DEFINED #define _HRESULT_DEFINED -typedef LONG HRESULT; +typedef _Return_type_success_(return >= 0) LONG HRESULT; #endif /* 64-bit types */ +#define _ULONGLONG_ __GNU_EXTENSION typedef __int64 LONGLONG, *PLONGLONG; __GNU_EXTENSION typedef unsigned __int64 ULONGLONG, *PULONGLONG; +#define _DWORDLONG_ typedef ULONGLONG DWORDLONG, *PDWORDLONG; /* Update Sequence Number */ typedef LONGLONG USN; /* ANSI (Multi-byte Character) types */ -typedef CHAR *PCHAR, *LPCH, *PCH; -typedef CONST CHAR *LPCCH, *PCCH; +typedef CHAR *PCHAR, *LPCH, *PCH, *PNZCH; +typedef CONST CHAR *LPCCH, *PCCH, *PCNZCH; typedef _Null_terminated_ CHAR *NPSTR, *LPSTR, *PSTR; typedef _Null_terminated_ PSTR *PZPSTR; typedef _Null_terminated_ CONST PSTR *PCZPSTR; typedef _Null_terminated_ CONST CHAR *LPCSTR, *PCSTR; typedef _Null_terminated_ PCSTR *PZPCSTR; +typedef _NullNull_terminated_ CHAR *PZZSTR; +typedef _NullNull_terminated_ CONST CHAR *PCZZSTR; + /* Pointer to an Asciiz string */ typedef _Null_terminated_ CHAR *PSZ; typedef _Null_terminated_ CONST char *PCSZ; @@ -477,22 +487,93 @@ typedef _Null_terminated_ WCHAR UNALIGNED *LPUWSTR, *PUWSTR; typedef _Null_terminated_ CONST WCHAR *LPCWSTR, *PCWSTR; typedef _Null_terminated_ PCWSTR *PZPCWSTR; typedef _Null_terminated_ CONST WCHAR UNALIGNED *LPCUWSTR, *PCUWSTR; + typedef _NullNull_terminated_ WCHAR *PZZWSTR; +typedef _NullNull_terminated_ CONST WCHAR *PCZZWSTR; +typedef _NullNull_terminated_ WCHAR UNALIGNED *PUZZWSTR; +typedef _NullNull_terminated_ CONST WCHAR UNALIGNED *PCUZZWSTR; + +typedef WCHAR *PNZWCH; +typedef CONST WCHAR *PCNZWCH; +typedef WCHAR UNALIGNED *PUNZWCH; +typedef CONST WCHAR UNALIGNED *PCUNZWCH; + +#if (_WIN32_WINNT >= 0x0600) || (defined(__cplusplus) && defined(WINDOWS_ENABLE_CPLUSPLUS)) +typedef CONST WCHAR *LPCWCHAR, *PCWCHAR; +typedef CONST WCHAR UNALIGNED *LPCUWCHAR, *PCUWCHAR; +typedef unsigned long UCSCHAR, *PUCSCHAR, *PUCSSTR; +typedef const UCSCHAR *PCUCSCHAR, *PCUCSSTR; +typedef UCSCHAR UNALIGNED *PUUCSCHAR, *PUUCSSTR; +typedef const UCSCHAR UNALIGNED *PCUUCSCHAR, *PCUUCSSTR; +#define UCSCHAR_INVALID_CHARACTER (0xffffffff) +#define MIN_UCSCHAR (0) +#define MAX_UCSCHAR (0x0010FFFF) +#endif /* _WIN32_WINNT >= 0x0600 */ + +#ifdef UNICODE + +#ifndef _TCHAR_DEFINED +typedef WCHAR TCHAR, *PTCHAR; +typedef WCHAR TUCHAR, *PTUCHAR; +#define _TCHAR_DEFINED +#endif /* !_TCHAR_DEFINED */ +typedef LPWCH LPTCH, PTCH; +typedef LPCWCH LPCTCH, PCTCH; +typedef LPWSTR PTSTR, LPTSTR; +typedef LPCWSTR PCTSTR, LPCTSTR; +typedef LPUWSTR PUTSTR, LPUTSTR; +typedef LPCUWSTR PCUTSTR, LPCUTSTR; +typedef LPWSTR LP; +typedef PZZWSTR PZZTSTR; +typedef PCZZWSTR PCZZTSTR; +typedef PUZZWSTR PUZZTSTR; +typedef PCUZZWSTR PCUZZTSTR; +typedef PZPWSTR PZPTSTR; +typedef PNZWCH PNZTCH; +typedef PCNZWCH PCNZTCH; +typedef PUNZWCH PUNZTCH; +typedef PCUNZWCH PCUNZTCH; +#define __TEXT(quote) L##quote + +#else /* UNICODE */ + +#ifndef _TCHAR_DEFINED +typedef char TCHAR, *PTCHAR; +typedef unsigned char TUCHAR, *PTUCHAR; +#define _TCHAR_DEFINED +#endif /* !_TCHAR_DEFINED */ +typedef LPCH LPTCH, PTCH; +typedef LPCCH LPCTCH, PCTCH; +typedef LPSTR PTSTR, LPTSTR, PUTSTR, LPUTSTR; +typedef LPCSTR PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR; +typedef PZZSTR PZZTSTR, PUZZTSTR; +typedef PCZZSTR PCZZTSTR, PCUZZTSTR; +typedef PZPSTR PZPTSTR; +typedef PNZCH PNZTCH, PUNZTCH; +typedef PCNZCH PCNZTCH, PCUNZTCH; +#define __TEXT(quote) quote // r_winnt + +#endif /* UNICODE */ // r_winnt +#define TEXT(quote) __TEXT(quote) // r_winnt /* Cardinal Data Types */ -typedef char CCHAR, *PCCHAR; +typedef char CCHAR; +typedef CCHAR *PCCHAR; typedef short CSHORT, *PCSHORT; typedef ULONG CLONG, *PCLONG; /* NLS basics (Locale and Language Ids) */ -typedef ULONG LCID; -typedef PULONG PLCID; -typedef USHORT LANGID; +typedef unsigned long LCID, *PLCID; +typedef unsigned short LANGID; -typedef enum { - UNSPECIFIED_COMPARTMENT_ID = 0, - DEFAULT_COMPARTMENT_ID +#ifndef __COMPARTMENT_ID_DEFINED__ +#define __COMPARTMENT_ID_DEFINED__ +typedef enum +{ + UNSPECIFIED_COMPARTMENT_ID = 0, + DEFAULT_COMPARTMENT_ID } COMPARTMENT_ID, *PCOMPARTMENT_ID; +#endif /* __COMPARTMENT_ID_DEFINED__ */ #ifdef _MSC_VER #pragma warning(push) @@ -568,9 +649,14 @@ typedef struct _LUID { typedef struct _UNICODE_STRING { USHORT Length; USHORT MaximumLength; - PWSTR Buffer; +#ifdef MIDL_PASS + [size_is(MaximumLength / 2), length_is((Length) / 2)] PUSHORT Buffer; +#else + _Field_size_bytes_part_(MaximumLength, Length) PWCH Buffer; +#endif } UNICODE_STRING, *PUNICODE_STRING; typedef const UNICODE_STRING* PCUNICODE_STRING; + #define UNICODE_NULL ((WCHAR)0) #define UNICODE_STRING_MAX_BYTES ((USHORT) 65534) #define UNICODE_STRING_MAX_CHARS (32767) @@ -631,6 +717,7 @@ typedef struct _STRING64 { #define SORTIDFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 16) & 0xf)) #define SORTVERSIONFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 20) & 0xf)) +#define LOCALE_NAME_MAX_LENGTH 85 /* Object Attributes */ typedef struct _OBJECT_ATTRIBUTES { @@ -643,27 +730,59 @@ typedef struct _OBJECT_ATTRIBUTES { } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES; typedef CONST OBJECT_ATTRIBUTES *PCOBJECT_ATTRIBUTES; +typedef struct _OBJECT_ATTRIBUTES32 { + ULONG Length; + ULONG RootDirectory; + ULONG ObjectName; + ULONG Attributes; + ULONG SecurityDescriptor; + ULONG SecurityQualityOfService; +} OBJECT_ATTRIBUTES32, *POBJECT_ATTRIBUTES32; +typedef CONST OBJECT_ATTRIBUTES32 *PCOBJECT_ATTRIBUTES32; + +typedef struct _OBJECT_ATTRIBUTES64 { + ULONG Length; + ULONG64 RootDirectory; + ULONG64 ObjectName; + ULONG Attributes; + ULONG64 SecurityDescriptor; + ULONG64 SecurityQualityOfService; +} OBJECT_ATTRIBUTES64, *POBJECT_ATTRIBUTES64; +typedef CONST OBJECT_ATTRIBUTES64 *PCOBJECT_ATTRIBUTES64; + /* Values for the Attributes member */ -#define OBJ_INHERIT 0x00000002 -#define OBJ_PERMANENT 0x00000010 -#define OBJ_EXCLUSIVE 0x00000020 -#define OBJ_CASE_INSENSITIVE 0x00000040 -#define OBJ_OPENIF 0x00000080 -#define OBJ_OPENLINK 0x00000100 -#define OBJ_KERNEL_HANDLE 0x00000200 -#define OBJ_FORCE_ACCESS_CHECK 0x00000400 -#define OBJ_VALID_ATTRIBUTES 0x000007F2 +#define OBJ_INHERIT 0x00000002L +#define OBJ_PERMANENT 0x00000010L +#define OBJ_EXCLUSIVE 0x00000020L +#define OBJ_CASE_INSENSITIVE 0x00000040L +#define OBJ_OPENIF 0x00000080L +#define OBJ_OPENLINK 0x00000100L +#define OBJ_KERNEL_HANDLE 0x00000200L +#define OBJ_FORCE_ACCESS_CHECK 0x00000400L +#define OBJ_VALID_ATTRIBUTES 0x000007F2L /* Helper Macro */ #define InitializeObjectAttributes(p,n,a,r,s) { \ (p)->Length = sizeof(OBJECT_ATTRIBUTES); \ (p)->RootDirectory = (r); \ - (p)->Attributes = (a); \ (p)->ObjectName = (n); \ + (p)->Attributes = (a); \ (p)->SecurityDescriptor = (s); \ (p)->SecurityQualityOfService = NULL; \ } +#define RTL_CONSTANT_OBJECT_ATTRIBUTES(n,a) { \ + sizeof(OBJECT_ATTRIBUTES), \ + NULL, \ + RTL_CONST_CAST(PUNICODE_STRING)(n), \ + a, \ + NULL, \ + NULL \ +} + +#define RTL_INIT_OBJECT_ATTRIBUTES(n, a) \ + RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a) + /* Product Types */ typedef enum _NT_PRODUCT_TYPE { NtProductWinNt = 1, @@ -707,24 +826,29 @@ typedef struct _SINGLE_LIST_ENTRY { struct _SINGLE_LIST_ENTRY *Next; } SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY; +typedef struct _SINGLE_LIST_ENTRY32 { + ULONG Next; +} SINGLE_LIST_ENTRY32, *PSINGLE_LIST_ENTRY32; + typedef struct _PROCESSOR_NUMBER { USHORT Group; UCHAR Number; UCHAR Reserved; } PROCESSOR_NUMBER, *PPROCESSOR_NUMBER; -struct _CONTEXT; -struct _EXCEPTION_RECORD; - _IRQL_requires_same_ _Function_class_(EXCEPTION_ROUTINE) -typedef EXCEPTION_DISPOSITION -(NTAPI *PEXCEPTION_ROUTINE)( +typedef +EXCEPTION_DISPOSITION +NTAPI +EXCEPTION_ROUTINE( _Inout_ struct _EXCEPTION_RECORD *ExceptionRecord, _In_ PVOID EstablisherFrame, _Inout_ struct _CONTEXT *ContextRecord, _In_ PVOID DispatcherContext); +typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE; + typedef struct _GROUP_AFFINITY { KAFFINITY Mask; USHORT Group; @@ -737,7 +861,22 @@ typedef struct _GROUP_AFFINITY { #define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8) #define RTL_BITS_OF_FIELD(type, field) (RTL_BITS_OF(RTL_FIELD_TYPE(type, field))) -#define RTL_CONSTANT_STRING(s) { sizeof(s)-sizeof((s)[0]), sizeof(s), s } +#ifdef __cplusplus +extern "C++" template struct _RTL_remove_const_template; +extern "C++" template struct _RTL_remove_const_template { typedef _Type type; }; +#define _RTL_CONSTANT_STRING_remove_const_macro(s) \ + (const_cast<_RTL_remove_const_template::type*>(s)) +extern "C++" template struct _RTL_CONSTANT_STRING_type_check_template; +extern "C++" template struct _RTL_CONSTANT_STRING_type_check_template { typedef char type; }; +#define _RTL_CONSTANT_STRING_type_check(s) _RTL_CONSTANT_STRING_type_check_template::type +#else +#define _RTL_CONSTANT_STRING_remove_const_macro(s) (s) +char _RTL_CONSTANT_STRING_type_check(const void *s); +#endif +#define RTL_CONSTANT_STRING(s) { \ + sizeof(s)-sizeof((s)[0]), \ + sizeof(s) / sizeof(_RTL_CONSTANT_STRING_type_check(s)), \ + _RTL_CONSTANT_STRING_remove_const_macro(s) } #define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field)) @@ -748,13 +887,23 @@ typedef struct _GROUP_AFFINITY { ( (((PCHAR)(&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR)(Struct))+(Size)) ) #define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0])) + +#ifdef __GNUC__ +#define RTL_NUMBER_OF_V2(A) \ + (({ int _check_array_type[__builtin_types_compatible_p(typeof(A), typeof(&A[0])) ? -1 : 1]; (void)_check_array_type; }), \ + RTL_NUMBER_OF_V1(A)) +#else +/// \todo implement security checks for cplusplus / MSVC #define RTL_NUMBER_OF_V2(A) RTL_NUMBER_OF_V1(A) +#endif + #ifdef ENABLE_RTL_NUMBER_OF_V2 #define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V2(A) #else #define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V1(A) #endif #define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A) +#define _ARRAYSIZE(A) RTL_NUMBER_OF_V1(A) /* Type Limits */ #define MINCHAR 0x80 @@ -768,18 +917,28 @@ typedef struct _GROUP_AFFINITY { #define MAXULONG 0xffffffff #define MAXLONGLONG (0x7fffffffffffffffLL) -/* Multiplication and Shift Operations */ -#define Int32x32To64(a,b) ((LONGLONG)(a)*(LONGLONG)(b)) -#define UInt32x32To64(a,b) ((DWORDLONG)(a)*(DWORDLONG)(b)) -#define Int64ShllMod32(a,b) ((DWORDLONG)(a)<<(b)) -#define Int64ShraMod32(a,b) ((LONGLONG)(a)>>(b)) -#define Int64ShrlMod32(a,b) ((DWORDLONG)(a)>>(b)) +/* Multiplication and Shift Operations. Note: we don't use inline + asm functions, the compiler can optimize this better. */ +#define Int32x32To64(a,b) (((__int64)(long)(a))*((__int64)(long)(b))) +#define UInt32x32To64(a,b) ((unsigned __int64)(unsigned int)(a)*(unsigned __int64)(unsigned int)(b)) + +#if defined(MIDL_PASS)|| defined(RC_INVOKED) || defined(_M_CEE_PURE) +/* Use native math */ +#define Int64ShllMod32(a,b) ((unsigned __int64)(a)<<(b)) +#define Int64ShraMod32(a,b) (((__int64)(a))>>(b)) +#define Int64ShrlMod32(a,b) (((unsigned __int64)(a))>>(b)) +#else +/* Use intrinsics */ +#define Int64ShllMod32(a,b) __ll_lshift(a,b) +#define Int64ShraMod32(a,b) __ll_rshift(a,b) +#define Int64ShrlMod32(a,b) __ull_rshift(a,b) +#endif /* C_ASSERT Definition */ #define C_ASSERT(expr) extern char (*c_assert(void)) [(expr) ? 1 : -1] /* Eliminate Microsoft C/C++ compiler warning 4715 */ -#if defined(_MSC_VER) && (_MSC_VER > 1200) +#if defined(_MSC_VER) # define DEFAULT_UNREACHABLE default: __assume(0) #elif defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)))) # define DEFAULT_UNREACHABLE default: __builtin_unreachable() @@ -818,6 +977,8 @@ typedef struct _GROUP_AFFINITY { #define LANG_ARMENIAN 0x2b #define LANG_ASSAMESE 0x4d #define LANG_AZERI 0x2c +#define LANG_AZERBAIJANI 0x2c +#define LANG_BANGLA 0x45 #define LANG_BASHKIR 0x6d #define LANG_BASQUE 0x2d #define LANG_BELARUSIAN 0x23 @@ -827,6 +988,8 @@ typedef struct _GROUP_AFFINITY { #define LANG_BOSNIAN_NEUTRAL 0x781a #define LANG_BULGARIAN 0x02 #define LANG_CATALAN 0x03 +#define LANG_CENTRAL_KURDISH 0x92 +#define LANG_CHEROKEE 0x5c #define LANG_CHINESE 0x04 #define LANG_CHINESE_SIMPLIFIED 0x04 #define LANG_CHINESE_TRADITIONAL 0x7c04 @@ -845,6 +1008,7 @@ typedef struct _GROUP_AFFINITY { #define LANG_FINNISH 0x0b #define LANG_FRENCH 0x0c #define LANG_FRISIAN 0x62 +#define LANG_FULAH 0x67 #define LANG_GALICIAN 0x56 #define LANG_GEORGIAN 0x37 #define LANG_GERMAN 0x07 @@ -852,6 +1016,7 @@ typedef struct _GROUP_AFFINITY { #define LANG_GREENLANDIC 0x6f #define LANG_GUJARATI 0x47 #define LANG_HAUSA 0x68 +#define LANG_HAWAIIAN 0x75 #define LANG_HEBREW 0x0d #define LANG_HINDI 0x39 #define LANG_HUNGARIAN 0x0e @@ -889,18 +1054,22 @@ typedef struct _GROUP_AFFINITY { #define LANG_NEPALI 0x61 #define LANG_NORWEGIAN 0x14 #define LANG_OCCITAN 0x82 +#define LANG_ODIA 0x48 #define LANG_ORIYA 0x48 #define LANG_PASHTO 0x63 #define LANG_PERSIAN 0x29 #define LANG_POLISH 0x15 #define LANG_PORTUGUESE 0x16 +#define LANG_PULAR 0x67 #define LANG_PUNJABI 0x46 #define LANG_QUECHUA 0x6b #define LANG_ROMANIAN 0x18 #define LANG_ROMANSH 0x17 #define LANG_RUSSIAN 0x19 +#define LANG_SAKHA 0x85 #define LANG_SAMI 0x3b #define LANG_SANSKRIT 0x4f +#define LANG_SCOTTISH_GAELIC 0x91 #define LANG_SERBIAN 0x1a #define LANG_SERBIAN_NEUTRAL 0x7c1a #define LANG_SINDHI 0x59 @@ -920,6 +1089,7 @@ typedef struct _GROUP_AFFINITY { #define LANG_THAI 0x1e #define LANG_TIBETAN 0x51 #define LANG_TIGRIGNA 0x73 +#define LANG_TIGRINYA 0x73 #define LANG_TSWANA 0x32 #define LANG_TURKISH 0x1f #define LANG_TURKMEN 0x42 @@ -928,6 +1098,7 @@ typedef struct _GROUP_AFFINITY { #define LANG_UPPER_SORBIAN 0x2e #define LANG_URDU 0x20 #define LANG_UZBEK 0x43 +#define LANG_VALENCIAN 0x03 #define LANG_VIETNAMESE 0x2a #define LANG_WELSH 0x52 #define LANG_WOLOF 0x88 From dad73c35fe2af5ebdde481f74ee4aa6494d6837c Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 31 May 2014 22:03:41 +0000 Subject: [PATCH 019/120] [RPCTR4] Skip the optional leading backslashes in server names for the ncacn_np protocol. This will fix at least one failure in the advapi32 registry winetest. svn path=/trunk/; revision=63523 --- reactos/dll/win32/rpcrt4/rpc_transport.c | 13 +++++++---- reactos/dll/win32/rpcrt4/rpcrt4_ros.diff | 29 ++++++++++++++---------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/rpc_transport.c b/reactos/dll/win32/rpcrt4/rpc_transport.c index 6608d8aedf2..771c3957376 100644 --- a/reactos/dll/win32/rpcrt4/rpc_transport.c +++ b/reactos/dll/win32/rpcrt4/rpc_transport.c @@ -313,6 +313,7 @@ static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) DWORD bufLen = sizeof(ComputerName)/sizeof(ComputerName[0]); RPC_STATUS r; LPSTR pname; + LPSTR NetworkAddr; INT size; /* already connected? */ @@ -329,9 +330,13 @@ static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) } else { + NetworkAddr = Connection->NetworkAddr; + if (NetworkAddr[0] == '\\' && NetworkAddr[1] == '\\') + NetworkAddr += 2; + if (GetComputerNameA(ComputerName, &bufLen)) { - if (stricmp(ComputerName, Connection->NetworkAddr) == 0) + if (stricmp(ComputerName, NetworkAddr) == 0) { bUseLocalName = TRUE; size += strlen(local); @@ -339,13 +344,13 @@ static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) else { bUseLocalName = FALSE; - size += strlen(Connection->NetworkAddr); + size += strlen(NetworkAddr); } } else { bUseLocalName = FALSE; - size += strlen(Connection->NetworkAddr); + size += strlen(NetworkAddr); } } @@ -356,7 +361,7 @@ static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) if (bUseLocalName) strcat(pname, local); else - strcat(pname, Connection->NetworkAddr); + strcat(pname, NetworkAddr); strcat(pname, Connection->Endpoint); r = rpcrt4_conn_open_pipe(Connection, pname, TRUE); I_RpcFree(pname); diff --git a/reactos/dll/win32/rpcrt4/rpcrt4_ros.diff b/reactos/dll/win32/rpcrt4/rpcrt4_ros.diff index 098606b3610..0ebbfaff537 100644 --- a/reactos/dll/win32/rpcrt4/rpcrt4_ros.diff +++ b/reactos/dll/win32/rpcrt4/rpcrt4_ros.diff @@ -141,7 +141,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr npc->pipe = pipe; return RPC_S_OK; -@@ -308,18 +306,59 @@ static RPC_STATUS rpcrt4_protseq_ncalrpc +@@ -308,18 +306,64 @@ static RPC_STATUS rpcrt4_protseq_ncalrpc static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) { RpcConnection_np *npc = (RpcConnection_np *) Connection; @@ -153,6 +153,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr + DWORD bufLen = sizeof(ComputerName)/sizeof(ComputerName[0]); RPC_STATUS r; LPSTR pname; ++ LPSTR NetworkAddr; + INT size; /* already connected? */ @@ -172,9 +173,13 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr + } + else + { ++ NetworkAddr = Connection->NetworkAddr; ++ if (NetworkAddr[0] == '\\' && NetworkAddr[1] == '\\') ++ NetworkAddr += 2; ++ + if (GetComputerNameA(ComputerName, &bufLen)) + { -+ if (stricmp(ComputerName, Connection->NetworkAddr) == 0) ++ if (stricmp(ComputerName, NetworkAddr) == 0) + { + bUseLocalName = TRUE; + size += strlen(local); @@ -182,13 +187,13 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr + else + { + bUseLocalName = FALSE; -+ size += strlen(Connection->NetworkAddr); ++ size += strlen(NetworkAddr); + } + } + else + { + bUseLocalName = FALSE; -+ size += strlen(Connection->NetworkAddr); ++ size += strlen(NetworkAddr); + } + } + @@ -199,13 +204,13 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr + if (bUseLocalName) + strcat(pname, local); + else -+ strcat(pname, Connection->NetworkAddr); ++ strcat(pname, NetworkAddr); + strcat(pname, Connection->Endpoint); + r = rpcrt4_conn_open_pipe(Connection, pname, TRUE); I_RpcFree(pname); return r; -@@ -368,9 +407,9 @@ static void rpcrt4_conn_np_handoff(RpcCo +@@ -368,9 +412,9 @@ static void rpcrt4_conn_np_handoff(RpcCo * to the child, then reopen the server binding to continue listening */ new_npc->pipe = old_npc->pipe; @@ -217,7 +222,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr old_npc->listening = FALSE; } -@@ -415,11 +454,17 @@ static int rpcrt4_conn_np_read(RpcConnec +@@ -415,11 +459,17 @@ static int rpcrt4_conn_np_read(RpcConnec char *buf = buffer; BOOL ret = TRUE; unsigned int bytes_left = count; @@ -244,7 +249,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr return ret ? count : -1; } -@@ -437,16 +483,23 @@ static int rpcrt4_conn_np_write(RpcConne +@@ -437,16 +488,23 @@ static int rpcrt4_conn_np_write(RpcConne const char *buf = buffer; BOOL ret = TRUE; unsigned int bytes_left = count; @@ -269,7 +274,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr return ret ? count : -1; } -@@ -458,9 +511,9 @@ static int rpcrt4_conn_np_close(RpcConne +@@ -458,9 +516,9 @@ static int rpcrt4_conn_np_close(RpcConne CloseHandle(npc->pipe); npc->pipe = 0; } @@ -282,7 +287,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr } return 0; } -@@ -664,7 +717,7 @@ static void *rpcrt4_protseq_np_get_wait_ +@@ -664,7 +722,7 @@ static void *rpcrt4_protseq_np_get_wait_ conn = CONTAINING_RECORD(protseq->conn, RpcConnection_np, common); while (conn) { rpcrt4_conn_listen_pipe(conn); @@ -291,7 +296,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr (*count)++; conn = CONTAINING_RECORD(conn->common.Next, RpcConnection_np, common); } -@@ -685,7 +738,7 @@ static void *rpcrt4_protseq_np_get_wait_ +@@ -685,7 +743,7 @@ static void *rpcrt4_protseq_np_get_wait_ *count = 1; conn = CONTAINING_RECORD(protseq->conn, RpcConnection_np, common); while (conn) { @@ -300,7 +305,7 @@ diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_tr (*count)++; conn = CONTAINING_RECORD(conn->common.Next, RpcConnection_np, common); } -@@ -732,18 +785,12 @@ static int rpcrt4_protseq_np_wait_for_ne +@@ -732,18 +790,12 @@ static int rpcrt4_protseq_np_wait_for_ne EnterCriticalSection(&protseq->cs); conn = CONTAINING_RECORD(protseq->conn, RpcConnection_np, common); while (conn) { From 2d2cae039d19a57db164f863dc2d33119f95e3ba Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 1 Jun 2014 10:15:07 +0000 Subject: [PATCH 020/120] [INCLUDE] - ntdef.h: add missing RTL_NUMBER_OF_FIELD, RTL_PADDING_BETWEEN_FIELDS, RotateLeft*, PRODUCT_*, SUBLANG_*, SORT_*, LANG_SYSTEM_DEFAULT, LANG_USER_DEFAULT, a few LOCALE_* - winnt.h: add missing LOCALE_SYSTEM_DEFAULT, LOCALE_USER_DEFAULT - winnls.h: remove definitions that don't belong there, add some missing ones, remove wineisms - intrin.h Implement _rotl64 for GCC - basetyps.h: add #pragma once, move include to the top svn path=/trunk/; revision=63524 --- reactos/include/crt/mingw32/intrin_x86.h | 16 + reactos/include/psdk/basetyps.h | 6 +- reactos/include/psdk/ntdef.h | 447 ++++++++++++++++++++++- reactos/include/psdk/winnls.h | 62 ++-- reactos/include/psdk/winnt.h | 2 + 5 files changed, 487 insertions(+), 46 deletions(-) diff --git a/reactos/include/crt/mingw32/intrin_x86.h b/reactos/include/crt/mingw32/intrin_x86.h index c7a71455442..aac86b20b36 100644 --- a/reactos/include/crt/mingw32/intrin_x86.h +++ b/reactos/include/crt/mingw32/intrin_x86.h @@ -1003,6 +1003,7 @@ __INTRIN_INLINE unsigned char _bittestandset(long * const a, const long b); __INTRIN_INLINE unsigned char _rotl8(unsigned char value, unsigned char shift); __INTRIN_INLINE unsigned short _rotl16(unsigned short value, unsigned char shift); __INTRIN_INLINE unsigned int _rotl(unsigned int value, int shift); +__INTRIN_INLINE unsigned __int64 _rotl64(unsigned __int64 value, int shift); __INTRIN_INLINE unsigned int _rotr(unsigned int value, int shift); __INTRIN_INLINE unsigned char _rotr8(unsigned char value, unsigned char shift); __INTRIN_INLINE unsigned short _rotr16(unsigned short value, unsigned char shift); @@ -1114,6 +1115,21 @@ __INTRIN_INLINE unsigned int _rotl(unsigned int value, int shift) return retval; } +#ifdef _M_AMD64 +__INTRIN_INLINE unsigned __int64 _rotl64(unsigned __int64 value, int shift) +{ + unsigned __int64 retval; + __asm__("rolq %b[shift], %k[retval]" : [retval] "=rm" (retval) : "[retval]" (value), [shift] "Nc" (shift)); + return retval; +} +#else +__INTRIN_INLINE unsigned __int64 _rotl64(unsigned __int64 value, int shift) +{ + /* FIXME: this is probably not optimal */ + return (value << shift) | (value >> (64 - shift)); +} +#endif + __INTRIN_INLINE unsigned int _rotr(unsigned int value, int shift) { unsigned long retval; diff --git a/reactos/include/psdk/basetyps.h b/reactos/include/psdk/basetyps.h index a8dc59ed430..a9f1cc5d97e 100644 --- a/reactos/include/psdk/basetyps.h +++ b/reactos/include/psdk/basetyps.h @@ -1,5 +1,9 @@ + #ifndef _BASETYPS_H #define _BASETYPS_H +#pragma once + +#include #ifndef __OBJC__ # ifdef __cplusplus @@ -72,8 +76,6 @@ # define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i) #endif -#include - #ifndef _ERROR_STATUS_T_DEFINED #define _ERROR_STATUS_T_DEFINED typedef unsigned long error_status_t; diff --git a/reactos/include/psdk/ntdef.h b/reactos/include/psdk/ntdef.h index 3eb52df66a2..8b7b3e03c85 100644 --- a/reactos/include/psdk/ntdef.h +++ b/reactos/include/psdk/ntdef.h @@ -39,6 +39,13 @@ extern "C" { #endif +/* Default to strict */ +#ifndef NO_STRICT +#ifndef STRICT +//#define STRICT 1 // FIXME: disabled for now +#endif +#endif + /* Pseudo Modifiers for Input Parameters */ #ifndef IN @@ -91,6 +98,12 @@ extern "C" { #define ANYSIZE_ARRAY 1 #endif +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C extern +#endif + /* Helper macro to enable gcc's extension. */ #ifndef __GNU_EXTENSION #ifdef __GNUC__ @@ -579,6 +592,7 @@ typedef enum #pragma warning(push) #pragma warning(disable:4201) #endif + /* Used to store a non-float 8 byte aligned structure */ typedef struct _QUAD { @@ -701,24 +715,6 @@ typedef struct _STRING64 { UNICODE_STRING64, *PUNICODE_STRING64, ANSI_STRING64, *PANSI_STRING64; -/* LangID and NLS */ -#define MAKELANGID(p, s) ((((USHORT)(s)) << 10) | (USHORT)(p)) -#define PRIMARYLANGID(lgid) ((USHORT)(lgid) & 0x3ff) -#define SUBLANGID(lgid) ((USHORT)(lgid) >> 10) - -#define NLS_VALID_LOCALE_MASK 0x000fffff - -#define MAKELCID(lgid, srtid) ((ULONG)((((ULONG)((USHORT)(srtid))) << 16) | \ - ((ULONG)((USHORT)(lgid))))) -#define MAKESORTLCID(lgid, srtid, ver) \ - ((ULONG)((MAKELCID(lgid, srtid)) | \ - (((ULONG)((USHORT)(ver))) << 20))) -#define LANGIDFROMLCID(lcid) ((USHORT)(lcid)) -#define SORTIDFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 16) & 0xf)) -#define SORTVERSIONFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 20) & 0xf)) - -#define LOCALE_NAME_MAX_LENGTH 85 - /* Object Attributes */ typedef struct _OBJECT_ATTRIBUTES { ULONG Length; @@ -836,6 +832,8 @@ typedef struct _PROCESSOR_NUMBER { UCHAR Reserved; } PROCESSOR_NUMBER, *PPROCESSOR_NUMBER; +#define ALL_PROCESSOR_GROUPS 0xffff + _IRQL_requires_same_ _Function_class_(EXCEPTION_ROUTINE) typedef @@ -905,6 +903,20 @@ char _RTL_CONSTANT_STRING_type_check(const void *s); #define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A) #define _ARRAYSIZE(A) RTL_NUMBER_OF_V1(A) +#define RTL_NUMBER_OF_FIELD(type, field) \ + (RTL_NUMBER_OF(RTL_FIELD_TYPE(type, field))) + +#define RTL_PADDING_BETWEEN_FIELDS(type, field1, field2) \ + ((FIELD_OFFSET(type, field2) > FIELD_OFFSET(type, field1)) \ + ? (FIELD_OFFSET(type, field2) - FIELD_OFFSET(type, field1) - RTL_FIELD_SIZE(type, field1)) \ + : (FIELD_OFFSET(type, field1) - FIELD_OFFSET(type, field2) - RTL_FIELD_SIZE(type, field2))) + +#if defined(__cplusplus) +#define RTL_CONST_CAST(type) const_cast +#else +#define RTL_CONST_CAST(type) (type) +#endif + /* Type Limits */ #define MINCHAR 0x80 #define MAXCHAR 0x7f @@ -934,6 +946,18 @@ char _RTL_CONSTANT_STRING_type_check(const void *s); #define Int64ShrlMod32(a,b) __ull_rshift(a,b) #endif +#define RotateLeft32 _rotl +#define RotateLeft64 _rotl64 +#define RotateRight32 _rotr +#define RotateRight64 _rotr64 + +#if defined(_M_AMD64) +#define RotateLeft8 _rotl8 +#define RotateLeft16 _rotl16 +#define RotateRight8 _rotr8 +#define RotateRight16 _rotr16 +#endif /* _M_AMD64 */ + /* C_ASSERT Definition */ #define C_ASSERT(expr) extern char (*c_assert(void)) [(expr) ? 1 : -1] @@ -965,10 +989,120 @@ char _RTL_CONSTANT_STRING_type_check(const void *s); #define VER_SUITE_COMPUTE_SERVER 0x00004000 #define VER_SUITE_WH_SERVER 0x00008000 +#define PRODUCT_UNDEFINED 0x00000000 +#define PRODUCT_ULTIMATE 0x00000001 +#define PRODUCT_HOME_BASIC 0x00000002 +#define PRODUCT_HOME_PREMIUM 0x00000003 +#define PRODUCT_ENTERPRISE 0x00000004 +#define PRODUCT_HOME_BASIC_N 0x00000005 +#define PRODUCT_BUSINESS 0x00000006 +#define PRODUCT_STANDARD_SERVER 0x00000007 +#define PRODUCT_DATACENTER_SERVER 0x00000008 +#define PRODUCT_SMALLBUSINESS_SERVER 0x00000009 +#define PRODUCT_ENTERPRISE_SERVER 0x0000000A +#define PRODUCT_STARTER 0x0000000B +#define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C +#define PRODUCT_STANDARD_SERVER_CORE 0x0000000D +#define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E +#define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F +#define PRODUCT_BUSINESS_N 0x00000010 +#define PRODUCT_WEB_SERVER 0x00000011 +#define PRODUCT_CLUSTER_SERVER 0x00000012 +#define PRODUCT_HOME_SERVER 0x00000013 +#define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014 +#define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015 +#define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016 +#define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017 +#define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018 +#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019 +#define PRODUCT_HOME_PREMIUM_N 0x0000001A +#define PRODUCT_ENTERPRISE_N 0x0000001B +#define PRODUCT_ULTIMATE_N 0x0000001C +#define PRODUCT_WEB_SERVER_CORE 0x0000001D +#define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x0000001E +#define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x0000001F +#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x00000020 +#define PRODUCT_SERVER_FOUNDATION 0x00000021 +#define PRODUCT_HOME_PREMIUM_SERVER 0x00000022 +#define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x00000023 +#define PRODUCT_STANDARD_SERVER_V 0x00000024 +#define PRODUCT_DATACENTER_SERVER_V 0x00000025 +#define PRODUCT_ENTERPRISE_SERVER_V 0x00000026 +#define PRODUCT_DATACENTER_SERVER_CORE_V 0x00000027 +#define PRODUCT_STANDARD_SERVER_CORE_V 0x00000028 +#define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x00000029 +#define PRODUCT_HYPERV 0x0000002A +#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x0000002B +#define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x0000002C +#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x0000002D +#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x0000002E +#define PRODUCT_STARTER_N 0x0000002F +#define PRODUCT_PROFESSIONAL 0x00000030 +#define PRODUCT_PROFESSIONAL_N 0x00000031 +#define PRODUCT_SB_SOLUTION_SERVER 0x00000032 +#define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x00000033 +#define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x00000034 +#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x00000035 +#define PRODUCT_SB_SOLUTION_SERVER_EM 0x00000036 +#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x00000037 +#define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x00000038 +#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE 0x00000039 +#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x0000003B +#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x0000003C +#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x0000003D +#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x0000003E +#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x0000003F +#define PRODUCT_CLUSTER_SERVER_V 0x00000040 +#define PRODUCT_EMBEDDED 0x00000041 +#define PRODUCT_STARTER_E 0x00000042 +#define PRODUCT_HOME_BASIC_E 0x00000043 +#define PRODUCT_HOME_PREMIUM_E 0x00000044 +#define PRODUCT_PROFESSIONAL_E 0x00000045 +#define PRODUCT_ENTERPRISE_E 0x00000046 +#define PRODUCT_ULTIMATE_E 0x00000047 +#define PRODUCT_ENTERPRISE_EVALUATION 0x00000048 +#define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x0000004C +#define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x0000004D +#define PRODUCT_STANDARD_EVALUATION_SERVER 0x0000004F +#define PRODUCT_DATACENTER_EVALUATION_SERVER 0x00000050 +#define PRODUCT_ENTERPRISE_N_EVALUATION 0x00000054 +#define PRODUCT_EMBEDDED_AUTOMOTIVE 0x00000055 +#define PRODUCT_EMBEDDED_INDUSTRY_A 0x00000056 +#define PRODUCT_THINPC 0x00000057 +#define PRODUCT_EMBEDDED_A 0x00000058 +#define PRODUCT_EMBEDDED_INDUSTRY 0x00000059 +#define PRODUCT_EMBEDDED_E 0x0000005A +#define PRODUCT_EMBEDDED_INDUSTRY_E 0x0000005B +#define PRODUCT_EMBEDDED_INDUSTRY_A_E 0x0000005C +#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F +#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x00000060 +#define PRODUCT_CORE_ARM 0x00000061 +#define PRODUCT_CORE_N 0x00000062 +#define PRODUCT_CORE_COUNTRYSPECIFIC 0x00000063 +#define PRODUCT_CORE_SINGLELANGUAGE 0x00000064 +#define PRODUCT_CORE 0x00000065 +#define PRODUCT_PROFESSIONAL_WMC 0x00000067 +#define PRODUCT_UNLICENSED 0xABCDABCD + +/* LangID and NLS */ +#define MAKELANGID(p, s) ((((USHORT)(s)) << 10) | (USHORT)(p)) +#define PRIMARYLANGID(lgid) ((USHORT)(lgid) & 0x3ff) +#define SUBLANGID(lgid) ((USHORT)(lgid) >> 10) +#define MAKELCID(lgid, srtid) ((ULONG)((((ULONG)((USHORT)(srtid))) << 16) | \ + ((ULONG)((USHORT)(lgid))))) +#define MAKESORTLCID(lgid, srtid, ver) \ + ((ULONG)((MAKELCID(lgid, srtid)) | \ + (((ULONG)((USHORT)(ver))) << 20))) +#define LANGIDFROMLCID(lcid) ((USHORT)(lcid)) +#define SORTIDFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 16) & 0xf)) +#define SORTVERSIONFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 20) & 0xf)) + +#define NLS_VALID_LOCALE_MASK 0x000fffff +#define LOCALE_NAME_MAX_LENGTH 85 + /* Primary language IDs. */ #define LANG_NEUTRAL 0x00 #define LANG_INVARIANT 0x7f - #define LANG_AFRIKAANS 0x36 #define LANG_ALBANIAN 0x1c #define LANG_ALSATIAN 0x84 @@ -1108,6 +1242,281 @@ char _RTL_CONSTANT_STRING_type_check(const void *s); #define LANG_YORUBA 0x6a #define LANG_ZULU 0x35 +#define SUBLANG_NEUTRAL 0x00 +#define SUBLANG_DEFAULT 0x01 +#define SUBLANG_SYS_DEFAULT 0x02 +#define SUBLANG_CUSTOM_DEFAULT 0x03 +#define SUBLANG_CUSTOM_UNSPECIFIED 0x04 +#define SUBLANG_UI_CUSTOM_DEFAULT 0x05 +#define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01 +#define SUBLANG_ALBANIAN_ALBANIA 0x01 +#define SUBLANG_ALSATIAN_FRANCE 0x01 +#define SUBLANG_AMHARIC_ETHIOPIA 0x01 +#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 +#define SUBLANG_ARABIC_IRAQ 0x02 +#define SUBLANG_ARABIC_EGYPT 0x03 +#define SUBLANG_ARABIC_LIBYA 0x04 +#define SUBLANG_ARABIC_ALGERIA 0x05 +#define SUBLANG_ARABIC_MOROCCO 0x06 +#define SUBLANG_ARABIC_TUNISIA 0x07 +#define SUBLANG_ARABIC_OMAN 0x08 +#define SUBLANG_ARABIC_YEMEN 0x09 +#define SUBLANG_ARABIC_SYRIA 0x0a +#define SUBLANG_ARABIC_JORDAN 0x0b +#define SUBLANG_ARABIC_LEBANON 0x0c +#define SUBLANG_ARABIC_KUWAIT 0x0d +#define SUBLANG_ARABIC_UAE 0x0e +#define SUBLANG_ARABIC_BAHRAIN 0x0f +#define SUBLANG_ARABIC_QATAR 0x10 +#define SUBLANG_ARMENIAN_ARMENIA 0x01 +#define SUBLANG_ASSAMESE_INDIA 0x01 +#define SUBLANG_AZERI_LATIN 0x01 +#define SUBLANG_AZERI_CYRILLIC 0x02 +#define SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN 0x01 +#define SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC 0x02 +#define SUBLANG_BANGLA_INDIA 0x01 +#define SUBLANG_BANGLA_BANGLADESH 0x02 +#define SUBLANG_BASHKIR_RUSSIA 0x01 +#define SUBLANG_BASQUE_BASQUE 0x01 +#define SUBLANG_BELARUSIAN_BELARUS 0x01 +#define SUBLANG_BENGALI_INDIA 0x01 +#define SUBLANG_BENGALI_BANGLADESH 0x02 +#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05 +#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08 +#define SUBLANG_BRETON_FRANCE 0x01 +#define SUBLANG_BULGARIAN_BULGARIA 0x01 +#define SUBLANG_CATALAN_CATALAN 0x01 +#define SUBLANG_CENTRAL_KURDISH_IRAQ 0x01 +#define SUBLANG_CHEROKEE_CHEROKEE 0x01 +#define SUBLANG_CHINESE_TRADITIONAL 0x01 +#define SUBLANG_CHINESE_SIMPLIFIED 0x02 +#define SUBLANG_CHINESE_HONGKONG 0x03 +#define SUBLANG_CHINESE_SINGAPORE 0x04 +#define SUBLANG_CHINESE_MACAU 0x05 +#define SUBLANG_CORSICAN_FRANCE 0x01 +#define SUBLANG_CZECH_CZECH_REPUBLIC 0x01 +#define SUBLANG_CROATIAN_CROATIA 0x01 +#define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04 +#define SUBLANG_DANISH_DENMARK 0x01 +#define SUBLANG_DARI_AFGHANISTAN 0x01 +#define SUBLANG_DIVEHI_MALDIVES 0x01 +#define SUBLANG_DUTCH 0x01 +#define SUBLANG_DUTCH_BELGIAN 0x02 +#define SUBLANG_ENGLISH_US 0x01 +#define SUBLANG_ENGLISH_UK 0x02 +#define SUBLANG_ENGLISH_AUS 0x03 +#define SUBLANG_ENGLISH_CAN 0x04 +#define SUBLANG_ENGLISH_NZ 0x05 +#define SUBLANG_ENGLISH_EIRE 0x06 +#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 +#define SUBLANG_ENGLISH_JAMAICA 0x08 +#define SUBLANG_ENGLISH_CARIBBEAN 0x09 +#define SUBLANG_ENGLISH_BELIZE 0x0a +#define SUBLANG_ENGLISH_TRINIDAD 0x0b +#define SUBLANG_ENGLISH_ZIMBABWE 0x0c +#define SUBLANG_ENGLISH_PHILIPPINES 0x0d +#define SUBLANG_ENGLISH_INDIA 0x10 +#define SUBLANG_ENGLISH_MALAYSIA 0x11 +#define SUBLANG_ENGLISH_SINGAPORE 0x12 +#define SUBLANG_ESTONIAN_ESTONIA 0x01 +#define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01 +#define SUBLANG_FILIPINO_PHILIPPINES 0x01 +#define SUBLANG_FINNISH_FINLAND 0x01 +#define SUBLANG_FRENCH 0x01 +#define SUBLANG_FRENCH_BELGIAN 0x02 +#define SUBLANG_FRENCH_CANADIAN 0x03 +#define SUBLANG_FRENCH_SWISS 0x04 +#define SUBLANG_FRENCH_LUXEMBOURG 0x05 +#define SUBLANG_FRENCH_MONACO 0x06 +#define SUBLANG_FRISIAN_NETHERLANDS 0x01 +#define SUBLANG_FULAH_SENEGAL 0x02 +#define SUBLANG_GALICIAN_GALICIAN 0x01 +#define SUBLANG_GEORGIAN_GEORGIA 0x01 +#define SUBLANG_GERMAN 0x01 +#define SUBLANG_GERMAN_SWISS 0x02 +#define SUBLANG_GERMAN_AUSTRIAN 0x03 +#define SUBLANG_GERMAN_LUXEMBOURG 0x04 +#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 +#define SUBLANG_GREEK_GREECE 0x01 +#define SUBLANG_GREENLANDIC_GREENLAND 0x01 +#define SUBLANG_GUJARATI_INDIA 0x01 +#define SUBLANG_HAUSA_NIGERIA_LATIN 0x01 +#define SUBLANG_HAWAIIAN_US 0x01 +#define SUBLANG_HEBREW_ISRAEL 0x01 +#define SUBLANG_HINDI_INDIA 0x01 +#define SUBLANG_HUNGARIAN_HUNGARY 0x01 +#define SUBLANG_ICELANDIC_ICELAND 0x01 +#define SUBLANG_IGBO_NIGERIA 0x01 +#define SUBLANG_INDONESIAN_INDONESIA 0x01 +#define SUBLANG_INUKTITUT_CANADA 0x01 +#define SUBLANG_INUKTITUT_CANADA_LATIN 0x02 +#define SUBLANG_IRISH_IRELAND 0x02 +#define SUBLANG_ITALIAN 0x01 +#define SUBLANG_ITALIAN_SWISS 0x02 +#define SUBLANG_JAPANESE_JAPAN 0x01 +#define SUBLANG_KANNADA_INDIA 0x01 +#define SUBLANG_KASHMIRI_SASIA 0x02 +#define SUBLANG_KASHMIRI_INDIA 0x02 +#define SUBLANG_KAZAK_KAZAKHSTAN 0x01 +#define SUBLANG_KHMER_CAMBODIA 0x01 +#define SUBLANG_KICHE_GUATEMALA 0x01 +#define SUBLANG_KINYARWANDA_RWANDA 0x01 +#define SUBLANG_KONKANI_INDIA 0x01 +#define SUBLANG_KOREAN 0x01 +#define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 +#define SUBLANG_LAO_LAO 0x01 +#define SUBLANG_LATVIAN_LATVIA 0x01 +#define SUBLANG_LITHUANIAN 0x01 +#define SUBLANG_LOWER_SORBIAN_GERMANY 0x02 +#define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 +#define SUBLANG_MACEDONIAN_MACEDONIA 0x01 +#define SUBLANG_MALAY_MALAYSIA 0x01 +#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 +#define SUBLANG_MALAYALAM_INDIA 0x01 +#define SUBLANG_MALTESE_MALTA 0x01 +#define SUBLANG_MAORI_NEW_ZEALAND 0x01 +#define SUBLANG_MAPUDUNGUN_CHILE 0x01 +#define SUBLANG_MARATHI_INDIA 0x01 +#define SUBLANG_MOHAWK_MOHAWK 0x01 +#define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01 +#define SUBLANG_MONGOLIAN_PRC 0x02 +#define SUBLANG_NEPALI_INDIA 0x02 +#define SUBLANG_NEPALI_NEPAL 0x01 +#define SUBLANG_NORWEGIAN_BOKMAL 0x01 +#define SUBLANG_NORWEGIAN_NYNORSK 0x02 +#define SUBLANG_OCCITAN_FRANCE 0x01 +#define SUBLANG_ODIA_INDIA 0x01 +#define SUBLANG_ORIYA_INDIA 0x01 +#define SUBLANG_PASHTO_AFGHANISTAN 0x01 +#define SUBLANG_PERSIAN_IRAN 0x01 +#define SUBLANG_POLISH_POLAND 0x01 +#define SUBLANG_PORTUGUESE 0x02 +#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 +#define SUBLANG_PULAR_SENEGAL 0x02 +#define SUBLANG_PUNJABI_INDIA 0x01 +#define SUBLANG_PUNJABI_PAKISTAN 0x02 +#define SUBLANG_QUECHUA_BOLIVIA 0x01 +#define SUBLANG_QUECHUA_ECUADOR 0x02 +#define SUBLANG_QUECHUA_PERU 0x03 +#define SUBLANG_ROMANIAN_ROMANIA 0x01 +#define SUBLANG_ROMANSH_SWITZERLAND 0x01 +#define SUBLANG_RUSSIAN_RUSSIA 0x01 +#define SUBLANG_SAKHA_RUSSIA 0x01 +#define SUBLANG_SAMI_NORTHERN_NORWAY 0x01 +#define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02 +#define SUBLANG_SAMI_NORTHERN_FINLAND 0x03 +#define SUBLANG_SAMI_LULE_NORWAY 0x04 +#define SUBLANG_SAMI_LULE_SWEDEN 0x05 +#define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06 +#define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07 +#define SUBLANG_SAMI_SKOLT_FINLAND 0x08 +#define SUBLANG_SAMI_INARI_FINLAND 0x09 +#define SUBLANG_SANSKRIT_INDIA 0x01 +#define SUBLANG_SCOTTISH_GAELIC 0x01 +#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN 0x06 +#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x07 +#define SUBLANG_SERBIAN_MONTENEGRO_LATIN 0x0b +#define SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC 0x0c +#define SUBLANG_SERBIAN_SERBIA_LATIN 0x09 +#define SUBLANG_SERBIAN_SERBIA_CYRILLIC 0x0a +#define SUBLANG_SERBIAN_CROATIA 0x01 +#define SUBLANG_SERBIAN_LATIN 0x02 +#define SUBLANG_SERBIAN_CYRILLIC 0x03 +#define SUBLANG_SINDHI_INDIA 0x01 +#define SUBLANG_SINDHI_PAKISTAN 0x02 +#define SUBLANG_SINDHI_AFGHANISTAN 0x02 +#define SUBLANG_SINHALESE_SRI_LANKA 0x01 +#define SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA 0x01 +#define SUBLANG_SLOVAK_SLOVAKIA 0x01 +#define SUBLANG_SLOVENIAN_SLOVENIA 0x01 +#define SUBLANG_SPANISH 0x01 +#define SUBLANG_SPANISH_MEXICAN 0x02 +#define SUBLANG_SPANISH_MODERN 0x03 +#define SUBLANG_SPANISH_GUATEMALA 0x04 +#define SUBLANG_SPANISH_COSTA_RICA 0x05 +#define SUBLANG_SPANISH_PANAMA 0x06 +#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 +#define SUBLANG_SPANISH_VENEZUELA 0x08 +#define SUBLANG_SPANISH_COLOMBIA 0x09 +#define SUBLANG_SPANISH_PERU 0x0a +#define SUBLANG_SPANISH_ARGENTINA 0x0b +#define SUBLANG_SPANISH_ECUADOR 0x0c +#define SUBLANG_SPANISH_CHILE 0x0d +#define SUBLANG_SPANISH_URUGUAY 0x0e +#define SUBLANG_SPANISH_PARAGUAY 0x0f +#define SUBLANG_SPANISH_BOLIVIA 0x10 +#define SUBLANG_SPANISH_EL_SALVADOR 0x11 +#define SUBLANG_SPANISH_HONDURAS 0x12 +#define SUBLANG_SPANISH_NICARAGUA 0x13 +#define SUBLANG_SPANISH_PUERTO_RICO 0x14 +#define SUBLANG_SPANISH_US 0x15 +#define SUBLANG_SWAHILI_KENYA 0x01 +#define SUBLANG_SWEDISH 0x01 +#define SUBLANG_SWEDISH_FINLAND 0x02 +#define SUBLANG_SYRIAC_SYRIA 0x01 +#define SUBLANG_TAJIK_TAJIKISTAN 0x01 +#define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 +#define SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH 0x04 +#define SUBLANG_TAMIL_INDIA 0x01 +#define SUBLANG_TAMIL_SRI_LANKA 0x02 +#define SUBLANG_TATAR_RUSSIA 0x01 +#define SUBLANG_TELUGU_INDIA 0x01 +#define SUBLANG_THAI_THAILAND 0x01 +#define SUBLANG_TIBETAN_PRC 0x01 +#define SUBLANG_TIGRIGNA_ERITREA 0x02 +#define SUBLANG_TIGRINYA_ERITREA 0x02 +#define SUBLANG_TIGRINYA_ETHIOPIA 0x01 +#define SUBLANG_TSWANA_BOTSWANA 0x02 +#define SUBLANG_TSWANA_SOUTH_AFRICA 0x01 +#define SUBLANG_TURKISH_TURKEY 0x01 +#define SUBLANG_TURKMEN_TURKMENISTAN 0x01 +#define SUBLANG_UIGHUR_PRC 0x01 +#define SUBLANG_UKRAINIAN_UKRAINE 0x01 +#define SUBLANG_UPPER_SORBIAN_GERMANY 0x01 +#define SUBLANG_URDU_PAKISTAN 0x01 +#define SUBLANG_URDU_INDIA 0x02 +#define SUBLANG_UZBEK_LATIN 0x01 +#define SUBLANG_UZBEK_CYRILLIC 0x02 +#define SUBLANG_VALENCIAN_VALENCIA 0x02 +#define SUBLANG_VIETNAMESE_VIETNAM 0x01 +#define SUBLANG_WELSH_UNITED_KINGDOM 0x01 +#define SUBLANG_WOLOF_SENEGAL 0x01 +#define SUBLANG_XHOSA_SOUTH_AFRICA 0x01 +#define SUBLANG_YAKUT_RUSSIA 0x01 +#define SUBLANG_YI_PRC 0x01 +#define SUBLANG_YORUBA_NIGERIA 0x01 +#define SUBLANG_ZULU_SOUTH_AFRICA 0x01 + +#define SORT_DEFAULT 0x0 +#define SORT_INVARIANT_MATH 0x1 +#define SORT_JAPANESE_XJIS 0x0 +#define SORT_JAPANESE_UNICODE 0x1 +#define SORT_JAPANESE_RADICALSTROKE 0x4 +#define SORT_CHINESE_BIG5 0x0 +#define SORT_CHINESE_PRCP 0x0 +#define SORT_CHINESE_UNICODE 0x1 +#define SORT_CHINESE_PRC 0x2 +#define SORT_CHINESE_BOPOMOFO 0x3 +#define SORT_CHINESE_RADICALSTROKE 0x4 +#define SORT_KOREAN_KSC 0x0 +#define SORT_KOREAN_UNICODE 0x1 +#define SORT_GERMAN_PHONE_BOOK 0x1 +#define SORT_HUNGARIAN_DEFAULT 0x0 +#define SORT_HUNGARIAN_TECHNICAL 0x1 +#define SORT_GEORGIAN_TRADITIONAL 0x0 +#define SORT_GEORGIAN_MODERN 0x1 + +#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT)) +#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)) + +#define LOCALE_SYSTEM_DEFAULT MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT) +#define LOCALE_USER_DEFAULT MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT) +#define LOCALE_CUSTOM_DEFAULT MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_CUSTOM_DEFAULT), SORT_DEFAULT) +#define LOCALE_CUSTOM_UNSPECIFIED MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_CUSTOM_UNSPECIFIED), SORT_DEFAULT) +#define LOCALE_CUSTOM_UI_DEFAULT MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_UI_CUSTOM_DEFAULT), SORT_DEFAULT) +#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT) +#define LOCALE_INVARIANT MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT) + #ifdef __cplusplus } // extern "C" #endif diff --git a/reactos/include/psdk/winnls.h b/reactos/include/psdk/winnls.h index 8e561b1be24..4a1e55d07be 100644 --- a/reactos/include/psdk/winnls.h +++ b/reactos/include/psdk/winnls.h @@ -116,45 +116,57 @@ extern "C" { #define LOCALE_SABBREVMONTHNAME13 0x100F #define LOCALE_SPOSITIVESIGN 80 #define LOCALE_SNEGATIVESIGN 81 -#define LOCALE_SSCRIPTS 108 +#define LOCALE_SSCRIPTS 108 // FIXME #define LOCALE_IPOSSIGNPOSN 82 #define LOCALE_INEGSIGNPOSN 83 #define LOCALE_IPOSSYMPRECEDES 84 #define LOCALE_IPOSSEPBYSPACE 85 #define LOCALE_INEGSYMPRECEDES 86 #define LOCALE_INEGSEPBYSPACE 87 -#if (WINVER >= 0x0400) #define LOCALE_FONTSIGNATURE 88 #define LOCALE_SISO639LANGNAME 89 #define LOCALE_SISO3166CTRYNAME 90 -#define LOCALE_SNAME 92 -#endif -#if (WINVER >= 0x0600) -#define LOCALE_SSCRIPTS 108 -#endif -#define LOCALE_SYSTEM_DEFAULT 0x800 -#define LOCALE_USER_DEFAULT 0x400 +#define LOCALE_SNAME 92 // FIXME +#if (WINVER >= 0x0600) +#define LOCALE_SNAME 92 +#define LOCALE_SDURATION 93 +#define LOCALE_SKEYBOARDSTOINSTALL 94 +#define LOCALE_SSHORTESTDAYNAME1 96 +#define LOCALE_SSHORTESTDAYNAME2 97 +#define LOCALE_SSHORTESTDAYNAME3 98 +#define LOCALE_SSHORTESTDAYNAME4 99 +#define LOCALE_SSHORTESTDAYNAME5 100 +#define LOCALE_SSHORTESTDAYNAME6 101 +#define LOCALE_SSHORTESTDAYNAME7 102 +#define LOCALE_SISO639LANGNAME2 103 +#define LOCALE_SISO3166CTRYNAME2 104 +#define LOCALE_SNAN 105 +#define LOCALE_SPOSINFINITY 106 +#define LOCALE_SNEGINFINITY 107 +#define LOCALE_SSCRIPTS 108 +#define LOCALE_SPARENT 109 +#define LOCALE_SCONSOLEFALLBACKNAME 110 +#endif /* (WINVER >= 0x0600) */ + +//#if (WINVER >= _WIN32_WINNT_WIN7) #define LOCALE_IREADINGLAYOUT 0x0070 #define LOCALE_INEUTRAL 0x0071 +#define LOCALE_INEGATIVEPERCENT 0x0074 +#define LOCALE_IPOSITIVEPERCENT 0x0075 +#define LOCALE_SPERCENT 0x0076 +#define LOCALE_SPERMILLE 0x0077 +#define LOCALE_SMONTHDAY 0x0078 +#define LOCALE_SSHORTTIME 0x0079 +#define LOCALE_SOPENTYPELANGUAGETAG 0x007a +#define LOCALE_SSORTLOCALE 0x007b +//#endif /* (WINVER >= _WIN32_WINNT_WIN7) */ -#if defined(__GNUC__) -# define LOCALE_NAME_INVARIANT (const WCHAR []){ 0 } -#elif defined(_MSC_VER) -# define LOCALE_NAME_INVARIANT L"" -#else -static const WCHAR LOCALE_NAME_INVARIANT[] = { 0 }; -#endif - -#if defined(__GNUC__) -# define LOCALE_NAME_SYSTEM_DEFAULT (const WCHAR []){'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0} -#elif defined(_MSC_VER) -# define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale" -#else -static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0}; -#endif - +#if (WINVER >= 0x0600) #define LOCALE_NAME_USER_DEFAULT NULL +#define LOCALE_NAME_INVARIANT L"" +#define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale" +#endif #define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030 /* Wine extension */ diff --git a/reactos/include/psdk/winnt.h b/reactos/include/psdk/winnt.h index ce49726c784..ed716378f5f 100644 --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@ -1460,6 +1460,8 @@ typedef enum { #define LANGIDFROMLCID(l) ((WORD)(l)) #define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT) #define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT) +#define LOCALE_SYSTEM_DEFAULT MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT) +#define LOCALE_USER_DEFAULT MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT) #define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT) #define LOCALE_INVARIANT MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT) #define LOCALE_NAME_MAX_LENGTH 85 From 50850105319a9c7e27ffcd7e838a42a81d9cf986 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 1 Jun 2014 11:00:09 +0000 Subject: [PATCH 021/120] [EVENTEVWR] * when displaying message boxes, set the parent to the main window/details dialog instead of using NULL. *add a function for showing the last Win32 error and replace two message boxes with a call to it. *add the ability to save event logs to a file. *add the ability to clear event logs. *In QueryEventMessages(), assign lpSourceLogName and lpComputerName after the call to OpenEventLog, not before. Patch by Ricardo Hanke CORE-7863 #comment Comitted in r63525, thanks svn path=/trunk/; revision=63525 --- .../mscutils/eventvwr/CMakeLists.txt | 2 +- .../applications/mscutils/eventvwr/eventvwr.c | 174 ++++++++++++++++-- .../mscutils/eventvwr/lang/bg-BG.rc | 6 + .../mscutils/eventvwr/lang/de-DE.rc | 6 + .../mscutils/eventvwr/lang/el-GR.rc | 6 + .../mscutils/eventvwr/lang/en-US.rc | 6 + .../mscutils/eventvwr/lang/es-ES.rc | 6 + .../mscutils/eventvwr/lang/fr-FR.rc | 6 + .../mscutils/eventvwr/lang/he-IL.rc | 6 + .../mscutils/eventvwr/lang/it-IT.rc | 6 + .../mscutils/eventvwr/lang/ja-JP.rc | 6 + .../mscutils/eventvwr/lang/ko-KR.rc | 6 + .../mscutils/eventvwr/lang/no-NO.rc | 6 + .../mscutils/eventvwr/lang/pl-PL.rc | 6 + .../mscutils/eventvwr/lang/pt-BR.rc | 6 + .../mscutils/eventvwr/lang/ro-RO.rc | 6 + .../mscutils/eventvwr/lang/ru-RU.rc | 6 + .../mscutils/eventvwr/lang/sk-SK.rc | 6 + .../mscutils/eventvwr/lang/sq-AL.rc | 6 + .../mscutils/eventvwr/lang/sv-SE.rc | 6 + .../mscutils/eventvwr/lang/tr-TR.rc | 6 + .../mscutils/eventvwr/lang/uk-UA.rc | 6 + .../mscutils/eventvwr/lang/zh-CN.rc | 6 + .../applications/mscutils/eventvwr/resource.h | 4 + 24 files changed, 291 insertions(+), 15 deletions(-) diff --git a/reactos/base/applications/mscutils/eventvwr/CMakeLists.txt b/reactos/base/applications/mscutils/eventvwr/CMakeLists.txt index a15680efcd4..fff7e3a7048 100644 --- a/reactos/base/applications/mscutils/eventvwr/CMakeLists.txt +++ b/reactos/base/applications/mscutils/eventvwr/CMakeLists.txt @@ -1,7 +1,7 @@ add_executable(eventvwr eventvwr.c eventvwr.rc) set_module_type(eventvwr win32gui UNICODE) -add_importlibs(eventvwr user32 comctl32 advapi32 msvcrt kernel32) +add_importlibs(eventvwr user32 comctl32 comdlg32 advapi32 msvcrt kernel32) if(MSVC) add_importlibs(eventvwr ntdll) endif() diff --git a/reactos/base/applications/mscutils/eventvwr/eventvwr.c b/reactos/base/applications/mscutils/eventvwr/eventvwr.c index 8d0a019d950..86b7666aa8d 100644 --- a/reactos/base/applications/mscutils/eventvwr/eventvwr.c +++ b/reactos/base/applications/mscutils/eventvwr/eventvwr.c @@ -28,9 +28,11 @@ #include #include #include +#include #include #include #include +#include #include "resource.h" @@ -42,7 +44,7 @@ static const LPWSTR EVENT_SOURCE_APPLICATION = L"Application"; static const LPWSTR EVENT_SOURCE_SECURITY = L"Security"; static const LPWSTR EVENT_SOURCE_SYSTEM = L"System"; -static const WCHAR szWindowClass[] = L"EVENTVWR"; /* the main window class name*/ +static const WCHAR szWindowClass[] = L"EVENTVWR"; /* the main window class name*/ //MessageFile message buffer size #define EVENT_MESSAGE_EVENTTEXT_BUFFER 1024*10 @@ -58,12 +60,15 @@ static const WCHAR szWindowClass[] = L"EVENTVWR"; /* the main window cl HINSTANCE hInst; /* current instance */ WCHAR szTitle[MAX_LOADSTRING]; /* The title bar text */ WCHAR szTitleTemplate[MAX_LOADSTRING]; /* The logged-on title bar text */ +WCHAR szSaveFilter[MAX_LOADSTRING]; /* Filter Mask for the save Dialog */ HWND hwndMainWindow; /* Main window */ HWND hwndListView; /* ListView control */ HWND hwndStatus; /* Status bar */ +HMENU hMainMenu; /* The application's main menu */ WCHAR szStatusBarTemplate[MAX_LOADSTRING]; /* The status bar text */ PEVENTLOGRECORD *g_RecordPtrs = NULL; DWORD g_TotalRecords = 0; +OPENFILENAMEW sfn; LPWSTR lpSourceLogName = NULL; LPWSTR lpComputerName = NULL; @@ -137,6 +142,25 @@ static void FreeRecords(void) g_RecordPtrs = NULL; } +VOID +ShowLastWin32Error(VOID) +{ + DWORD dwError; + LPWSTR lpMessageBuffer; + + dwError = GetLastError(); + FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, + NULL, + dwError, + 0, + (LPWSTR)&lpMessageBuffer, + 0, + NULL); + + MessageBoxW(hwndMainWindow, lpMessageBuffer, szTitle, MB_OK | MB_ICONERROR); + LocalFree(lpMessageBuffer); +} + VOID EventTimeToSystemTime(DWORD EventTime, SYSTEMTIME *pSystemTime) @@ -219,10 +243,7 @@ GetEventMessageFileDLL(IN LPCWSTR lpLogName, } else { - MessageBoxW(NULL, - L"Registry access failed!", - L"Event Log", - MB_OK | MB_ICONINFORMATION); + ShowLastWin32Error(); } if (hSourceKey != NULL) @@ -524,21 +545,18 @@ QueryEventMessages(LPWSTR lpMachineName, dwFlags = EVENTLOG_FORWARDS_READ | EVENTLOG_SEQUENTIAL_READ; - lpSourceLogName = lpLogName; - lpComputerName = lpMachineName; - /* Open the event log. */ hEventLog = OpenEventLogW(lpMachineName, lpLogName); if (hEventLog == NULL) { - MessageBoxW(NULL, - L"Could not open the event log.", - L"Event Log", - MB_OK | MB_ICONINFORMATION); + ShowLastWin32Error(); return FALSE; } + lpSourceLogName = lpLogName; + lpComputerName = lpMachineName; + /* Disable listview redraw */ SendMessage(hwndListView, WM_SETREDRAW, FALSE, 0); @@ -552,6 +570,17 @@ QueryEventMessages(LPWSTR lpMachineName, GetNumberOfEventLogRecords (hEventLog , &dwTotalRecords); g_TotalRecords = dwTotalRecords; + if (dwTotalRecords > 0) + { + EnableMenuItem(hMainMenu, ID_CLEAR_EVENTS, MF_BYCOMMAND | MF_ENABLED); + EnableMenuItem(hMainMenu, ID_SAVE_PROTOCOL, MF_BYCOMMAND | MF_ENABLED); + } + else + { + EnableMenuItem(hMainMenu, ID_CLEAR_EVENTS, MF_BYCOMMAND | MF_GRAYED); + EnableMenuItem(hMainMenu, ID_SAVE_PROTOCOL, MF_BYCOMMAND | MF_GRAYED); + } + g_RecordPtrs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwTotalRecords * sizeof(PVOID)); /* If we have at least 1000 records show the waiting dialog */ @@ -710,6 +739,97 @@ QueryEventMessages(LPWSTR lpMachineName, } +VOID +SaveProtocol(VOID) +{ + HANDLE hEventLog; + WCHAR szFileName[MAX_PATH]; + + ZeroMemory(szFileName, sizeof(szFileName)); + + sfn.lpstrFile = szFileName; + sfn.nMaxFile = MAX_PATH; + + if (!GetSaveFileNameW(&sfn)) + { + return; + } + + hEventLog = OpenEventLogW(lpComputerName, lpSourceLogName); + if (!hEventLog) + { + ShowLastWin32Error(); + return; + } + + if (!BackupEventLogW(hEventLog, szFileName)) + { + ShowLastWin32Error(); + } + + CloseEventLog(hEventLog); +} + + +BOOL +ClearEvents(VOID) +{ + HANDLE hEventLog; + WCHAR szFileName[MAX_PATH]; + WCHAR szMessage[MAX_LOADSTRING]; + + ZeroMemory(szFileName, sizeof(szFileName)); + ZeroMemory(szMessage, sizeof(szMessage)); + + LoadStringW(hInst, IDS_CLEAREVENTS_MSG, szMessage, MAX_LOADSTRING); + + sfn.lpstrFile = szFileName; + sfn.nMaxFile = MAX_PATH; + + switch (MessageBoxW(hwndMainWindow, szMessage, szTitle, MB_YESNOCANCEL | MB_ICONINFORMATION)) + { + case IDCANCEL: + { + return FALSE; + break; + } + + case IDNO: + { + sfn.lpstrFile = NULL; + break; + } + + case IDYES: + { + if (!GetSaveFileNameW(&sfn)) + { + return FALSE; + } + break; + } + } + + hEventLog = OpenEventLogW(lpComputerName, lpSourceLogName); + if (!hEventLog) + { + ShowLastWin32Error(); + return FALSE; + } + + if (!ClearEventLogW(hEventLog, sfn.lpstrFile)) + { + ShowLastWin32Error(); + CloseEventLog(hEventLog); + return FALSE; + } + + CloseEventLog(hEventLog); + + return TRUE; +} + + VOID Refresh(VOID) { @@ -905,6 +1025,20 @@ InitInstance(HINSTANCE hInstance, lvc.pszText = szTemp; (void)ListView_InsertColumn(hwndListView, 8, &lvc); + // Initialize the save Dialog + ZeroMemory(&sfn, sizeof(sfn)); + ZeroMemory(szSaveFilter, sizeof(szSaveFilter)); + + LoadStringW(hInst, IDS_SAVE_FILTER, szSaveFilter, MAX_LOADSTRING); + + sfn.lStructSize = sizeof(sfn); + sfn.hwndOwner = hwndMainWindow; + sfn.hInstance = hInstance; + sfn.lpstrFilter = szSaveFilter; + sfn.lpstrInitialDir = NULL; + sfn.Flags = OFN_HIDEREADONLY | OFN_SHAREAWARE; + sfn.lpstrDefExt = NULL; + ShowWindow(hwndMainWindow, nCmdShow); UpdateWindow(hwndMainWindow); @@ -934,6 +1068,7 @@ WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) switch (message) { case WM_CREATE: + hMainMenu = GetMenu(hWnd); CheckMenuRadioItem(GetMenu(hWnd), ID_LOG_APPLICATION, ID_LOG_SYSTEM, @@ -1002,6 +1137,17 @@ WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) } break; + case ID_SAVE_PROTOCOL: + SaveProtocol(); + break; + + case ID_CLEAR_EVENTS: + if (ClearEvents()) + { + Refresh(); + } + break; + case IDM_REFRESH: Refresh(); break; @@ -1011,7 +1157,7 @@ WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) break; case IDM_HELP: - MessageBoxW(NULL, + MessageBoxW(hwndMainWindow, L"Help not implemented yet!", L"Event Log", MB_OK | MB_ICONINFORMATION); @@ -1221,7 +1367,7 @@ EventDetails(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) return (INT_PTR)TRUE; case IDHELP: - MessageBoxW(NULL, + MessageBoxW(hDlg, L"Help not implemented yet!", L"Event Log", MB_OK | MB_ICONINFORMATION); diff --git a/reactos/base/applications/mscutils/eventvwr/lang/bg-BG.rc b/reactos/base/applications/mscutils/eventvwr/lang/bg-BG.rc index 6476b51cc86..360802294a2 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/bg-BG.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/bg-BG.rc @@ -8,6 +8,10 @@ BEGIN MENUITEM "&СигурноÑÑ‚", ID_LOG_SECURITY MENUITEM "&Уредба", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Из&ход", IDM_EXIT END POPUP "Из&глед" @@ -95,6 +99,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "Success" IDS_EVENTLOG_UNKNOWN_TYPE "Unknown Event" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/de-DE.rc b/reactos/base/applications/mscutils/eventvwr/lang/de-DE.rc index e7e87e97711..e9c0234f69d 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/de-DE.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/de-DE.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&Sicherheit", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Protokoll s&peichern...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "Alle E&reignisse löschen", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "B&eenden", IDM_EXIT END POPUP "&Ansicht" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit Fehlgeschlagen" IDS_EVENTLOG_SUCCESS "Erfolgreich" IDS_EVENTLOG_UNKNOWN_TYPE "Unbekanntes Ereignis" + IDS_CLEAREVENTS_MSG "Möchten Sie dieses Protokoll vor dem Löschen speichern?" + IDS_SAVE_FILTER "Ereignisprotokoll (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/el-GR.rc b/reactos/base/applications/mscutils/eventvwr/lang/el-GR.rc index 56dd3abafc3..e4e757bdcb5 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/el-GR.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/el-GR.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&Ασφάλεια", ID_LOG_SECURITY MENUITEM "&ΣÏστημα", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Έ&ξοδος", IDM_EXIT END POPUP "&Εμφάνιση" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "Επιτυχία" IDS_EVENTLOG_UNKNOWN_TYPE "Άγνωστο συμβάν" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/en-US.rc b/reactos/base/applications/mscutils/eventvwr/lang/en-US.rc index 3ab08cbe328..a02247904ac 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/en-US.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/en-US.rc @@ -16,6 +16,10 @@ BEGIN MENUITEM "&Security", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "E&xit", IDM_EXIT END POPUP "&View" @@ -103,6 +107,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "Success" IDS_EVENTLOG_UNKNOWN_TYPE "Unknown Event" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/es-ES.rc b/reactos/base/applications/mscutils/eventvwr/lang/es-ES.rc index 5195415d4ee..d7dfb8bde9b 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/es-ES.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/es-ES.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&Seguridad", ID_LOG_SECURITY MENUITEM "&Sistema", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "S&alir", IDM_EXIT END POPUP "&Ver" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Auditoria Fallida" IDS_EVENTLOG_SUCCESS "Acierto" IDS_EVENTLOG_UNKNOWN_TYPE "Evento Desconocido" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/fr-FR.rc b/reactos/base/applications/mscutils/eventvwr/lang/fr-FR.rc index 42732e33cad..f123ba5deb6 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/fr-FR.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/fr-FR.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&Sécurité", ID_LOG_SECURITY MENUITEM "&Système", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Quitter", IDM_EXIT END POPUP "Affichage" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Échec de l'audit" IDS_EVENTLOG_SUCCESS "Succès" IDS_EVENTLOG_UNKNOWN_TYPE "Événement Inconnu" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/he-IL.rc b/reactos/base/applications/mscutils/eventvwr/lang/he-IL.rc index 0dffb05f056..aafdb5bbf15 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/he-IL.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/he-IL.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "×בטחה", ID_LOG_SECURITY MENUITEM "מערכת", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "יצי××”", IDM_EXIT END POPUP "תצוגה" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "הצלחה" IDS_EVENTLOG_UNKNOWN_TYPE "×ירוע ×œ× ×™×“×•×¢" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/it-IT.rc b/reactos/base/applications/mscutils/eventvwr/lang/it-IT.rc index 24a758707f8..d1543a1626c 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/it-IT.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/it-IT.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&Sicurezza", ID_LOG_SECURITY MENUITEM "&Sistema", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "E&sci", IDM_EXIT END POPUP "&Vista" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit fallita" IDS_EVENTLOG_SUCCESS "Successo" IDS_EVENTLOG_UNKNOWN_TYPE "Evento sconosciuto" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/ja-JP.rc b/reactos/base/applications/mscutils/eventvwr/lang/ja-JP.rc index 07af81219b4..5fb5194e80d 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/ja-JP.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/ja-JP.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "セキュリティ(&S)", ID_LOG_SECURITY MENUITEM "システム(&S)", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "終了(&X)", IDM_EXIT END POPUP "表示(&V)" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "失敗ã®ç›£æŸ»" IDS_EVENTLOG_SUCCESS "æˆåŠŸ" IDS_EVENTLOG_UNKNOWN_TYPE "䏿˜Žãªã‚¤ãƒ™ãƒ³ãƒˆ" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/ko-KR.rc b/reactos/base/applications/mscutils/eventvwr/lang/ko-KR.rc index a8ed9d67c5e..5d02fc087ba 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/ko-KR.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/ko-KR.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "보안(&S)", ID_LOG_SECURITY MENUITEM "시스템(&S)", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "종료(&X)", IDM_EXIT END POPUP "보기(&V)" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "ê°ì‚¬ 실패" IDS_EVENTLOG_SUCCESS "성공" IDS_EVENTLOG_UNKNOWN_TYPE "알려지지 ì•Šì€ ì´ë²¤íЏ" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/no-NO.rc b/reactos/base/applications/mscutils/eventvwr/lang/no-NO.rc index 79e28b4353a..f66eca5bc68 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/no-NO.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/no-NO.rc @@ -8,6 +8,10 @@ BEGIN MENUITEM "&Sikkerhet", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "A&vslutt", IDM_EXIT END POPUP "&Vis" @@ -95,6 +99,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Revisjon misslykkes" IDS_EVENTLOG_SUCCESS "Suksess" IDS_EVENTLOG_UNKNOWN_TYPE "Ukjent hendelse" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc b/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc index 1c6732b64bf..549269c523a 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&Zabezpieczenia", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&WyjÅ›cie", IDM_EXIT END POPUP "&PodglÄ…d" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Nieudany Audyt" IDS_EVENTLOG_SUCCESS "Sukces" IDS_EVENTLOG_UNKNOWN_TYPE "Zdarzenie nieznane" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/pt-BR.rc b/reactos/base/applications/mscutils/eventvwr/lang/pt-BR.rc index a8bd572175f..47f33b21bc9 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/pt-BR.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/pt-BR.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "S&egurança", ID_LOG_SECURITY MENUITEM "&Sistema", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Sair", IDM_EXIT END POPUP "&Visualizar" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Falha na Auditoria" IDS_EVENTLOG_SUCCESS "Sucesso" IDS_EVENTLOG_UNKNOWN_TYPE "Evento Desconhecido" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/ro-RO.rc b/reactos/base/applications/mscutils/eventvwr/lang/ro-RO.rc index 62683009ecc..473f8755e5c 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/ro-RO.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/ro-RO.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "Se&curitate", ID_LOG_SECURITY MENUITEM "&Sistem", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "I&eÈ™ire", IDM_EXIT END POPUP "&AfiÈ™are" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "EÈ™ec audit" IDS_EVENTLOG_SUCCESS "Succes" IDS_EVENTLOG_UNKNOWN_TYPE "Eveniment necunoscut" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/ru-RU.rc b/reactos/base/applications/mscutils/eventvwr/lang/ru-RU.rc index 4da2d57fcc9..8a1a767751f 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/ru-RU.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/ru-RU.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&БезопаÑноÑти", ID_LOG_SECURITY MENUITEM "&СиÑтемы", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Ð’&ыход", IDM_EXIT END POPUP "&Вид" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Ðудит отказов" IDS_EVENTLOG_SUCCESS "УÑпех" IDS_EVENTLOG_UNKNOWN_TYPE "ÐеизвеÑтное Ñобытие" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/sk-SK.rc b/reactos/base/applications/mscutils/eventvwr/lang/sk-SK.rc index eb3a99f1f95..a751ec062bc 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/sk-SK.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/sk-SK.rc @@ -13,6 +13,10 @@ BEGIN MENUITEM "&Security", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&SkonÄiÅ¥", IDM_EXIT END POPUP "&ZobraziÅ¥" @@ -100,6 +104,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Kontrola zlyhala" IDS_EVENTLOG_SUCCESS "Úspech" //Success IDS_EVENTLOG_UNKNOWN_TYPE "Neznáma udalosÅ¥" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/sq-AL.rc b/reactos/base/applications/mscutils/eventvwr/lang/sq-AL.rc index 65e869f3b37..bb0be3429f3 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/sq-AL.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/sq-AL.rc @@ -16,6 +16,10 @@ BEGIN MENUITEM "&Siguri", ID_LOG_SECURITY MENUITEM "&Sistemi", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Dil", IDM_EXIT END POPUP "&Vëzhgo" @@ -103,6 +107,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit dështoj" IDS_EVENTLOG_SUCCESS "Sukses" IDS_EVENTLOG_UNKNOWN_TYPE "Ngjraje e panjohur" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/sv-SE.rc b/reactos/base/applications/mscutils/eventvwr/lang/sv-SE.rc index b9241cb28c6..f9eb385f189 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/sv-SE.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/sv-SE.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&Säkerhet", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "A&vsluta", IDM_EXIT END POPUP "&Visa" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Revision misslyckades" IDS_EVENTLOG_SUCCESS "Uppgift lyckades" IDS_EVENTLOG_UNKNOWN_TYPE "Okänd händelse" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/tr-TR.rc b/reactos/base/applications/mscutils/eventvwr/lang/tr-TR.rc index 50cc321270c..e60c19c3f34 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/tr-TR.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/tr-TR.rc @@ -16,6 +16,10 @@ BEGIN MENUITEM "&Güvenlik", ID_LOG_SECURITY MENUITEM "&Dizge", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Çıkış", IDM_EXIT END POPUP "&Görünüm" @@ -103,6 +107,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "BaÅŸarısızlık Denetimi" IDS_EVENTLOG_SUCCESS "BaÅŸarı" IDS_EVENTLOG_UNKNOWN_TYPE "Bilinmeyen Olay" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/uk-UA.rc b/reactos/base/applications/mscutils/eventvwr/lang/uk-UA.rc index 501a705b7f3..82c61cab7a1 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/uk-UA.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/uk-UA.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "&ЗахиÑÑ‚", ID_LOG_SECURITY MENUITEM "&СиÑтема", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Ð’&ихід", IDM_EXIT END POPUP "&ВиглÑд" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Ðудит відмов" IDS_EVENTLOG_SUCCESS "УÑпіх" IDS_EVENTLOG_UNKNOWN_TYPE "Ðевідома подіÑ" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/lang/zh-CN.rc b/reactos/base/applications/mscutils/eventvwr/lang/zh-CN.rc index aee2a57aee3..524cf3dd552 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/zh-CN.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/zh-CN.rc @@ -10,6 +10,10 @@ BEGIN MENUITEM "安全日志(&S)", ID_LOG_SECURITY MENUITEM "系统日志(&Y)", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "退出(&X)", IDM_EXIT END POPUP "查看(&V)" @@ -97,6 +101,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "审核失败" IDS_EVENTLOG_SUCCESS "æˆåŠŸ" IDS_EVENTLOG_UNKNOWN_TYPE "未知事件" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/mscutils/eventvwr/resource.h b/reactos/base/applications/mscutils/eventvwr/resource.h index 66e3032a9d7..b98a189c02e 100644 --- a/reactos/base/applications/mscutils/eventvwr/resource.h +++ b/reactos/base/applications/mscutils/eventvwr/resource.h @@ -46,6 +46,8 @@ #define ID_VIEW_REFRESH 32780 #define ID_REFRESH 32781 #define IDM_REFRESH 32782 +#define ID_CLEAR_EVENTS 32783 +#define ID_SAVE_PROTOCOL 32784 /* String IDs */ #define IDS_APP_TITLE 103 @@ -59,6 +61,8 @@ #define IDS_EVENTLOG_AUDIT_FAILURE 255 #define IDS_EVENTLOG_SUCCESS 256 #define IDS_EVENTLOG_UNKNOWN_TYPE 257 +#define IDS_CLEAREVENTS_MSG 258 +#define IDS_SAVE_FILTER 259 #define IDS_COLUMNTYPE 300 #define IDS_COLUMNDATE 301 From 94f5ab6df4546d0e0bda551d8f9d45498f92b7a6 Mon Sep 17 00:00:00 2001 From: Kamil Hornicek Date: Sun, 1 Jun 2014 11:11:07 +0000 Subject: [PATCH 022/120] [EVENTVWR] - sync and translate the czech resources svn path=/trunk/; revision=63526 --- reactos/base/applications/mscutils/eventvwr/lang/cs-CZ.rc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reactos/base/applications/mscutils/eventvwr/lang/cs-CZ.rc b/reactos/base/applications/mscutils/eventvwr/lang/cs-CZ.rc index 873bb14f6e1..a939a0724e8 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/cs-CZ.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/cs-CZ.rc @@ -8,6 +8,10 @@ BEGIN MENUITEM "&ZabezpeÄení", ID_LOG_SECURITY MENUITEM "&Systém", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Uložit &Protokol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Odstranit události", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Konec", IDM_EXIT END POPUP "&Zobrazit" @@ -95,6 +99,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Audit selhal" IDS_EVENTLOG_SUCCESS "ÚspÄ›ch" IDS_EVENTLOG_UNKNOWN_TYPE "Neznámá událost" + IDS_CLEAREVENTS_MSG "Chcete tento protokol pÅ™ed odstranÄ›ním uložit?" + IDS_SAVE_FILTER "Protokol událostí (*.evt)\0*.evt\0" END STRINGTABLE From a1545a1c310a9920365f22132bb4f5cb27393b2f Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Sun, 1 Jun 2014 11:58:21 +0000 Subject: [PATCH 023/120] [RAPPS] - Database update and some missed sourceforge mirror fixes by me and myself. - rapps: (for database) Many Improvements and Many Fixes by Erdem Ersoy CORE-7710 #resolve #comment Committed, thx for your help. svn path=/trunk/; revision=63527 --- .../base/applications/rapps/rapps/abyss.txt | 4 +- .../base/applications/rapps/rapps/bochs.txt | 6 +- .../base/applications/rapps/rapps/boswars.txt | 2 +- .../applications/rapps/rapps/codeblocks.txt | 2 +- .../rapps/rapps/codeblocks_gcc.txt | 2 +- .../rapps/rapps/codeblocks_gcc_2.txt | 2 +- .../rapps/rapps/devcpp_mingw32.txt | 6 +- .../rapps/rapps/devcpp_tdm_gcc_x64.txt | 6 +- .../rapps/rapps/doublecommander.txt | 6 +- .../base/applications/rapps/rapps/dplus.txt | 2 +- .../applications/rapps/rapps/dvdwritenow.txt | 2 +- reactos/base/applications/rapps/rapps/fap.txt | 14 ++--- .../base/applications/rapps/rapps/fira.txt | 10 ++-- .../base/applications/rapps/rapps/firefox.txt | 58 +++++++++---------- .../applications/rapps/rapps/lazaruside.txt | 10 ++-- .../applications/rapps/rapps/libreoffice.txt | 14 ++--- .../base/applications/rapps/rapps/mcwin32.txt | 2 +- .../applications/rapps/rapps/mirandaim.txt | 14 ++--- reactos/base/applications/rapps/rapps/mpc.txt | 6 +- reactos/base/applications/rapps/rapps/npp.txt | 6 +- .../applications/rapps/rapps/openoffice.txt | 24 ++++---- .../base/applications/rapps/rapps/opera.txt | 14 ++--- .../base/applications/rapps/rapps/peazip.txt | 6 +- .../base/applications/rapps/rapps/putty.txt | 2 +- .../base/applications/rapps/rapps/python.txt | 14 ++--- .../base/applications/rapps/rapps/qmmp.txt | 12 ++-- .../base/applications/rapps/rapps/rosbe.txt | 2 +- .../base/applications/rapps/rapps/scite.txt | 14 ++--- .../applications/rapps/rapps/sdl_runtime.txt | 2 +- .../applications/rapps/rapps/seamonkey.txt | 24 ++++---- .../applications/rapps/rapps/sumatrapdf.txt | 6 +- .../applications/rapps/rapps/thunderbird.txt | 28 ++++----- .../rapps/rapps/totalcommander.txt | 12 ++-- .../applications/rapps/rapps/utorrent.txt | 4 +- .../base/applications/rapps/rapps/vb5run.txt | 4 +- .../base/applications/rapps/rapps/vb6run.txt | 4 +- .../applications/rapps/rapps/vc2005sp1run.txt | 2 +- .../applications/rapps/rapps/vc2008sp1run.txt | 2 +- .../applications/rapps/rapps/vc2010run.txt | 2 +- .../base/applications/rapps/rapps/vc6run.txt | 2 +- .../applications/rapps/rapps/winboard.txt | 7 ++- reactos/base/applications/rapps/rapps/zaz.txt | 4 +- reactos/cmake/config.cmake | 2 +- 43 files changed, 184 insertions(+), 183 deletions(-) diff --git a/reactos/base/applications/rapps/rapps/abyss.txt b/reactos/base/applications/rapps/rapps/abyss.txt index 5ad87798927..9e0e0f6349b 100644 --- a/reactos/base/applications/rapps/rapps/abyss.txt +++ b/reactos/base/applications/rapps/rapps/abyss.txt @@ -1,9 +1,9 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Abyss Web server X1 -Version = 2.9.0.1 +Version = 2.9.3.2 Licence = Freeware Description = Abyss Web Server enables you to host your Web sites on your computer. It supports secure SSL/TLS connections (HTTPS) as well as a wide range of Web technologies. It can also run advanced PHP, Perl, Python, ASP, ASP.NET, and Ruby on Rails Web applications, which can be backed by databases such as MySQL, SQLite, MS SQL Server, MS Access, or Oracle. Size = 2.1 MB diff --git a/reactos/base/applications/rapps/rapps/bochs.txt b/reactos/base/applications/rapps/rapps/bochs.txt index 3709d9ca419..445e35730ca 100644 --- a/reactos/base/applications/rapps/rapps/bochs.txt +++ b/reactos/base/applications/rapps/rapps/bochs.txt @@ -1,16 +1,16 @@ -; UTF-8 +; UTF-8 ; Polish translation by wojo664 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Bochs -Version = 2.6.2 +Version = 2.6.5 Licence = LGPL v2 Description = Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. Size = 4.7 MB Category = 15 URLSite = http://bochs.sourceforge.net/ -URLDownload = http://download.sourceforge.net/project/bochs/bochs/2.6.2/Bochs-2.6.2.exe +URLDownload = http://download.sourceforge.net/project/bochs/bochs/2.6.5/Bochs-2.6.5.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/boswars.txt b/reactos/base/applications/rapps/rapps/boswars.txt index 4d66d757fcb..bc586dafcbb 100644 --- a/reactos/base/applications/rapps/rapps/boswars.txt +++ b/reactos/base/applications/rapps/rapps/boswars.txt @@ -27,5 +27,5 @@ Description = Bos Wars e o strategie în timp real, futuristă. Pentru a porni j Size = 62,3 Mo [Section.041f] -Description = Bos Wars, gelecekçi ve gerçek zamanlı bir izlem oyunudur. Oyunu baÅŸlatmak için Microsoft Visual C++ 2008 Yürütücüsü'nü kurunuz. +Description = Bos Wars, gelecekçi ve gerçek zamanlı bir izlem oyunudur. Oyunu baÅŸlatmak için Microsoft Visual C++ 2008 Yürütücü'yü kurunuz. Size = 62,3 MB diff --git a/reactos/base/applications/rapps/rapps/codeblocks.txt b/reactos/base/applications/rapps/rapps/codeblocks.txt index 82257b02454..25ce4191c34 100644 --- a/reactos/base/applications/rapps/rapps/codeblocks.txt +++ b/reactos/base/applications/rapps/rapps/codeblocks.txt @@ -9,7 +9,7 @@ Description = A open source, cross-platform, powerful IDE. It doesn't contain a Size = 29.2 MB Category = 7 URLSite = http://www.codeblocks.org/ -URLDownload = http://sourceforge.net/projects/codeblocks/files/Binaries/13.12/Windows/codeblocks-13.12-setup.exe +URLDownload = http://download.sourceforge.net/project/codeblocks/Binaries/13.12/Windows/codeblocks-13.12-setup.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/codeblocks_gcc.txt b/reactos/base/applications/rapps/rapps/codeblocks_gcc.txt index 70dc894a960..de4d727bda7 100644 --- a/reactos/base/applications/rapps/rapps/codeblocks_gcc.txt +++ b/reactos/base/applications/rapps/rapps/codeblocks_gcc.txt @@ -9,7 +9,7 @@ Description = A open source, cross-platform, powerful IDE. It contains TDM-GCC ( Size = 97.8 MB Category = 7 URLSite = http://www.codeblocks.org/ -URLDownload = http://sourceforge.net/projects/codeblocks/files/Binaries/13.12/Windows/codeblocks-13.12mingw-setup.exe +URLDownload = http://download.sourceforge.net/project/codeblocks/Binaries/13.12/Windows/codeblocks-13.12mingw-setup.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/codeblocks_gcc_2.txt b/reactos/base/applications/rapps/rapps/codeblocks_gcc_2.txt index e7678186859..8b287d335ca 100644 --- a/reactos/base/applications/rapps/rapps/codeblocks_gcc_2.txt +++ b/reactos/base/applications/rapps/rapps/codeblocks_gcc_2.txt @@ -9,7 +9,7 @@ Description = A open source, cross-platform, powerful IDE. It contains TDM-GCC ( Size = 100 MB Category = 7 URLSite = http://www.codeblocks.org/ -URLDownload = http://sourceforge.net/projects/codeblocks/files/Binaries/13.12/Windows/codeblocks-13.12mingw-setup-TDM-GCC-481.exe +URLDownload = http://download.sourceforge.net/project/codeblocks/Binaries/13.12/Windows/codeblocks-13.12mingw-setup-TDM-GCC-481.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/devcpp_mingw32.txt b/reactos/base/applications/rapps/rapps/devcpp_mingw32.txt index eeab44f6c2a..55463540924 100644 --- a/reactos/base/applications/rapps/rapps/devcpp_mingw32.txt +++ b/reactos/base/applications/rapps/rapps/devcpp_mingw32.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Orwell Dev-C++ MinGW32 -Version = 5.6.2 +Version = 5.6.3 Licence = GPLv2 Description = A maintained version of Dev-C++. It contains MinGW32 compiler. Size = 60.2 MB Category = 7 URLSite = http://orwelldevcpp.blogspot.com/ -URLDownload = http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/Dev-Cpp%205.6.2%20MinGW%204.8.1%20Setup.exe +URLDownload = http://download.sourceforge.net/project/orwelldevcpp/Setup%20Releases/Dev-Cpp%205.6.3%20MinGW%204.8.1%20Setup.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt b/reactos/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt index ed2f12c3687..1264f0aab44 100644 --- a/reactos/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt +++ b/reactos/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Orwell Dev-C++ TDM GCC x64 -Version = 5.6.2 +Version = 5.6.3 Licence = GPLv2 Description = A maintained version of Dev-C++. It contains 64 bit TDM-GCC compiler. Size = 44.8 MB Category = 7 URLSite = http://orwelldevcpp.blogspot.com/ -URLDownload = http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/Dev-Cpp%205.6.2%20TDM-GCC%20x64%204.8.1%20Setup.exe +URLDownload = http://download.sourceforge.net/project/orwelldevcpp/Setup%20Releases/Dev-Cpp%205.6.3%20TDM-GCC%20x64%204.8.1%20Setup.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/doublecommander.txt b/reactos/base/applications/rapps/rapps/doublecommander.txt index e2c80a5c1b9..2541aeef471 100644 --- a/reactos/base/applications/rapps/rapps/doublecommander.txt +++ b/reactos/base/applications/rapps/rapps/doublecommander.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Double Commander -Version = 0.5.9 Beta +Version = 0.5.10 Beta Licence = GPL Description = Double Commander is an open source file manager with two panels side by side. You need 7-Zip or a similar Utility to extract it. Size = 7.6 MB Category = 12 URLSite = http://doublecmd.sourceforge.net/ -URLDownload = http://download.sourceforge.net/project/doublecmd/DC%20for%20Windows%2032%20bit/Double%20Commander%200.5.9%20beta/doublecmd-0.5.9.i386-win32.exe +URLDownload = http://download.sourceforge.net/project/doublecmd/DC%20for%20Windows%2032%20bit/Double%20Commander%200.5.10%20beta/doublecmd-0.5.10.i386-win32.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/dplus.txt b/reactos/base/applications/rapps/rapps/dplus.txt index a5c94d616a4..ce6f72e46fb 100644 --- a/reactos/base/applications/rapps/rapps/dplus.txt +++ b/reactos/base/applications/rapps/rapps/dplus.txt @@ -9,7 +9,7 @@ Description = DPlus is a graphical web browser with an emphasis on security, per Size = 1.36 MB Category = 5 URLSite = http://dplus-browser.sourceforge.net/ -URLDownload = http://heanet.dl.sourceforge.net/project/dplus-browser/Releases/dplus-0.5b/dplus-0.5b-setup.exe +URLDownload = http://download.sourceforge.net/project/dplus-browser/Releases/dplus-0.5b/dplus-0.5b-setup.exe CDPath = none [Section.0410] diff --git a/reactos/base/applications/rapps/rapps/dvdwritenow.txt b/reactos/base/applications/rapps/rapps/dvdwritenow.txt index 2795a805b1b..daf15f10e4a 100644 --- a/reactos/base/applications/rapps/rapps/dvdwritenow.txt +++ b/reactos/base/applications/rapps/rapps/dvdwritenow.txt @@ -33,5 +33,5 @@ URLSite = http://dwn.alter.org.ua/ru/ [Section.041f] Licence = Ücretsiz -Description = Ücretsiz bir doÄŸrudan CD/DVD kaydedici yazılımı. Kurulduktan sonra CD/DVD RW'lerinizi USB Flash veyâ çıkarılabilir sâbit disk sürücüleri olarak kullanabilirsiniz. Bununla birlikte UDF kütük dizgesiyle kaydedilmiÅŸ CD/DVD RW'lere yazabilirsiniz. Ayrıca Microsoft DVD−ROM'ları, Ahead InCD ile kaydedilmiÅŸ RW diskleri gibi baÅŸka yazılımlarla oluÅŸturulmuÅŸ UDF diskleri okuyabilirsiniz. Kurmak için bir ZIP çıkarma izlencesi gerekir. +Description = Ücretsiz bir doÄŸrudan CD/DVD kaydedici yazılımı. Kurulduktan sonra CD/DVD RW'lerinizi, USB Flash veyâ çıkarılabilir sâbit disk sürücüleri olarak kullanabilirsiniz. Bununla birlikte UDF kütük dizgesiyle kaydedilmiÅŸ CD/DVD RW'lere yazabilirsiniz. Ayrıca Microsoft DVD−ROM'ları, Ahead InCD ile kaydedilmiÅŸ RW diskleri gibi baÅŸka yazılımlarla oluÅŸturulmuÅŸ UDF diskleri okuyabilirsiniz. Kurmak için bir ZIP çıkarma izlencesi gerekir. Size = 1,2 MB diff --git a/reactos/base/applications/rapps/rapps/fap.txt b/reactos/base/applications/rapps/rapps/fap.txt index 730dcdd65f4..4307548e526 100644 --- a/reactos/base/applications/rapps/rapps/fap.txt +++ b/reactos/base/applications/rapps/rapps/fap.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Fox Audio Player -Version = 0.10.0 +Version = 0.10.2 Licence = GPL Description = Simple and lightweight audio player. -Size = 1.89 MB +Size = 1.9 MB Category = 1 URLSite = http://foxaudioplayer.sourceforge.net/ -URLDownload = http://svn.reactos.org/packages/fap-0.10.0-win32-bin.exe +URLDownload = http://svn.reactos.org/packages/fap-0.10.2-win32.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Reproductor de audio simple y ligero. [Section.040c] Description = Lecteur audio simple et léger. -Size = 1,89 Mo +Size = 1,9 Mo [Section.0410] Description = Un semplice e leggero lettore audio. @@ -33,12 +33,12 @@ Description = Prosty i lekki odtwarzacz audio. [Section.0418] Description = Un lector audio simplu È™i uÈ™or. -Size = 1,89 Mo +Size = 1,9 Mo [Section.041f] Name = Fox Ses Oynatıcısı Description = Bayağı ve yeÄŸni ses oynatıcısı. -Size = 1,89 MB +Size = 1,9 MB [Section.0422] Description = ПроÑтий та маленький програвач аудіо файлів. diff --git a/reactos/base/applications/rapps/rapps/fira.txt b/reactos/base/applications/rapps/rapps/fira.txt index beee410b87d..4dde9d6beb2 100644 --- a/reactos/base/applications/rapps/rapps/fira.txt +++ b/reactos/base/applications/rapps/rapps/fira.txt @@ -1,13 +1,13 @@ -; UTF-8 +; UTF-8 ; Polish translation by wojo664 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Mozilla Fira Font -Version = 1.0 +Version = 3.1 Licence = Unknown Description = Mozilla Fira Font Pack, Includes Mono and Sans fonts. Unzip in the ReactOS's folder. -Size = 543 kB +Size = 1.1 MB Category = 14 URLSite = https://github.com/mozilla/Fira URLDownload = http://svn.reactos.org/packages/Fira.exe @@ -28,10 +28,10 @@ Description = Pakiet czcionek Mozilla Fira Font, zawiera czcionki Mono i Sans. W [Section.0418] Licence = Nespecificată Description = Pachetul Mozilla Fira Font, include fonturile Mono È™i Sans. DezarhivaÈ›i în dosarul „ReactOSâ€. (FIXME) -Size = 543 ko +Size = 1,1 Mo [Section.041f] Name = Mozilla Fira Yazı Tipi Licence = Bilinmiyor Description = Mozilla Fira Yazı Tipi Paketi, Mono ve Sans yazı tiplerini kapsar. ReactOS'un dizinine çıkartınız. -Size = 543 KB +Size = 1,1 MB diff --git a/reactos/base/applications/rapps/rapps/firefox.txt b/reactos/base/applications/rapps/rapps/firefox.txt index fee9955b3c5..425b7a5d192 100644 --- a/reactos/base/applications/rapps/rapps/firefox.txt +++ b/reactos/base/applications/rapps/rapps/firefox.txt @@ -1,84 +1,84 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] -Name = Mozilla Firefox 28 -Version = 28.0 +Name = Mozilla Firefox 29 +Version = 29.0.1 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. -Size = 22.9 MB +Size = 27.7 MB Category = 5 URLSite = http://www.mozilla.org/en-US/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/en-US/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/en-US/Firefox%20Setup%2029.0.1.exe CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Webbrowser. -Size = 22.8 MB +Size = 27.5 MB URLSite = http://www.mozilla.org/de/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/de/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/de/Firefox%20Setup%2029.0.1.exe [Section.040a] Description = El más popular y uno de los mejores navegadores web gratuitos que hay. -Size = 22.7 MB +Size = 27.5 MB URLSite = http://www.mozilla.org/es-ES/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/es-ES/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/es-ES/Firefox%20Setup%2029.0.1.exe [Section.040c] Description = Le navigateur web gratuit le plus populaire et l'un des meilleurs. -Size = 23,0 Mo +Size = 27,8 Mo URLSite = http://www.mozilla.org/fr/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/fr/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/fr/Firefox%20Setup%2029.0.1.exe [Section.0410] Description = Il più popolare e uno dei migliori web browser gratuiti. -Size = 22.7 MB +Size = 27.5 MB URLSite = http://www.mozilla.org/it/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/it/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/it/Firefox%20Setup%2029.0.1.exe [Section.0413] Description = De meest populaire en een van de beste gratis Web browsers. -Size = 23.4 MB +Size = 28.2 MB URLSite = http://www.mozilla.org/nl/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/nl/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/nl/Firefox%20Setup%2029.0.1.exe [Section.0414] Description = Mest populære og best ogsÃ¥ gratis nettleserene der ute. -Size = 22.8 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/nb-NO/Firefox%20Setup%2028.0.exe +Size = 27.5 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/nb-NO/Firefox%20Setup%2029.0.1.exe [Section.0415] Description = Najpopularniejsza i jedna z najlepszych darmowych przeglÄ…darek internetowych. -Size = 23.7 MB +Size = 28.4 MB URLSite = http://www.mozilla.org/pl/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/pl/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/pl/Firefox%20Setup%2029.0.1.exe [Section.0418] Description = Cel mai popular È™i unul dintre cele mai bune navigatoare web gratuite existente. -Size = 23,3 Mo +Size = 28,0 Mo URLSite = http://www.mozilla.org/ro/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/ro/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/ro/Firefox%20Setup%2029.0.1.exe [Section.0419] Description = Один из Ñамых популÑрных и лучших беÑплатных браузеров. -Size = 23,2 MB +Size = 27.9 MB URLSite = http://www.mozilla.org/ru/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/ru/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/ru/Firefox%20Setup%2029.0.1.exe [Section.041b] Description = Najpopulárnejší a jeden z najlepších slobodný webových prehliadaÄov. -Size = 23,4 MB +Size = 28.2 MB URLSite = http://www.mozilla.org/sk/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/sk/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/sk/Firefox%20Setup%2029.0.1.exe [Section.041f] Description = Özgür Umûmî AÄŸ tarayıcıları arasında en tutulanı ve en iyilerinden biri. -Size = 22,8 MB +Size = 27,5 MB URLSite = http://www.mozilla.org/tr/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/tr/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/tr/Firefox%20Setup%2029.0.1.exe [Section.0422] Description = ÐайпопулÑрніший та один з кращих безплатних веб-браузерів. -Size = 23,2 MB +Size = 27.9 MB URLSite = http://www.mozilla.org/uk/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/28.0/win32/uk/Firefox%20Setup%2028.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/uk/Firefox%20Setup%2029.0.1.exe diff --git a/reactos/base/applications/rapps/rapps/lazaruside.txt b/reactos/base/applications/rapps/rapps/lazaruside.txt index a0ef0845afe..53381f3cc44 100644 --- a/reactos/base/applications/rapps/rapps/lazaruside.txt +++ b/reactos/base/applications/rapps/rapps/lazaruside.txt @@ -1,16 +1,16 @@ -; UTF-8 +; UTF-8 ; Polish translation by wojo664 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Lazarus -Version = 1.2 +Version = 1.2.2 Licence = modified LGPL, GPL Description = A cross-platform integrated development environment (IDE) that lets you create visual (GUI) and non-visual Object Pascal programs, and uses the Free Pascal compiler to generate your executable. -Size = 112 MB +Size = 114 MB Category = 7 URLSite = http://www.lazarus.freepascal.org/ -URLDownload = http://download.sourceforge.net/project/lazarus/Lazarus%20Windows%2032%20bits/Lazarus%201.2/lazarus-1.2.0-fpc-2.6.2-win32.exe +URLDownload = http://download.sourceforge.net/project/lazarus/Lazarus%20Windows%2032%20bits/Lazarus%201.2.2/lazarus-1.2.2-fpc-2.6.4-win32.exe CDPath = none [Section.0407] @@ -25,7 +25,7 @@ Description = Un ambiente di sviluppo integrato (IDE) cross-platform che consent [Section.0418] Licence = GPL, LGPL modificată Description = Un mediu integrat de dezvoltare (IDE) multi-platformă care vă permite crearea de programe Object Pascal, atât vizuale (GUI) cât È™i ne-vizuale, È™i utilizează compilatorul Free Pascal pentru a genera executabile. -Size = 112 Mo +Size = 114 Mo [Section.041f] Licence = DeÄŸiÅŸtirilmiÅŸ LGPL, GPL diff --git a/reactos/base/applications/rapps/rapps/libreoffice.txt b/reactos/base/applications/rapps/rapps/libreoffice.txt index 31ff17d102b..4ca07becdda 100644 --- a/reactos/base/applications/rapps/rapps/libreoffice.txt +++ b/reactos/base/applications/rapps/rapps/libreoffice.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = LibreOffice -Version = 4.2.3 +Version = 4.2.4 Licence = LGPL Description = A powerful and open source office suite. It has been forked from OpenOffice. -Size = 211.0 MB +Size = 209.3 MB Category = 6 URLSite = http://www.documentfoundation.org/ -URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.2.3/win/x86/LibreOffice_4.2.3_Win_x86.msi +URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.2.4/win/x86/LibreOffice_4.2.4_Win_x86.msi CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = La suite de ofimática de código abierto. (FIXME) [Section.040c] Description = Précédemment appelé OpenOffice. Suite bureautique open source. (FIXME) -Size = 211,0 Mo +Size = 209,3 Mo [Section.0410] Description = Precedentemente chiamato OpenOffice. Open Source Office Suite. (FIXME) @@ -33,11 +33,11 @@ Description = Otwarty pakiet biurowy. (FIXME) [Section.0418] Description = Fostul OpenOffice. Suita de aplicaÈ›ii de birotică open-source. (FIXME) -Size = 211,0 Mo +Size = 209,3 Mo [Section.041f] Description = Güçlü ve açık kaynak bir büro takımı. OpenOffice'ten çatallanılmıştır. -Size = 211,0 MB +Size = 209,3 MB [Section.0422] Description = Відкритий офіÑний пакет. (FIXME) diff --git a/reactos/base/applications/rapps/rapps/mcwin32.txt b/reactos/base/applications/rapps/rapps/mcwin32.txt index 086cc7618b1..da08dec77c6 100644 --- a/reactos/base/applications/rapps/rapps/mcwin32.txt +++ b/reactos/base/applications/rapps/rapps/mcwin32.txt @@ -9,7 +9,7 @@ Description = 32-bit Windows port of GNU Midnight Commander. Size = 2.35 MB Category = 12 URLSite = http://sourceforge.net/projects/mcwin32/ -URLDownload = http://optimate.dl.sourceforge.net/project/mcwin32/mcwin32-build183-setup.exe +URLDownload = http://download.sourceforge.net/project/mcwin32/mcwin32-build183-setup.exe CDPath = none [Section.0410] diff --git a/reactos/base/applications/rapps/rapps/mirandaim.txt b/reactos/base/applications/rapps/rapps/mirandaim.txt index 145d7d66582..afe7ebbcb97 100644 --- a/reactos/base/applications/rapps/rapps/mirandaim.txt +++ b/reactos/base/applications/rapps/rapps/mirandaim.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Miranda IM -Version = 0.10.22 +Version = 0.10.23 Licence = GPL Description = Open source multiprotocol instant messaging application - May not work completely. -Size = 2.8 MB +Size = 3.8 MB Category = 5 URLSite = http://www.miranda-im.org/ -URLDownload = http://files.miranda-im.org/stable/0.10.22.0/miranda-im-v0.10.22-unicode.exe +URLDownload = http://files.miranda-im.org/stable/0.10.23.0/miranda-im-v0.10.23-unicode.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Aplicación de mensajería instantánea multiprotocolo de código [Section.040c] Description = Application de messagerie instantannée multi-protocoles open source - pourrait ne pas fonctionner complètement. -Size = 2,8 Mo +Size = 3,8 Mo [Section.0410] Description = Multi-protocollo open source per applicazioni di messaggistica istantanea - potrebbe non funzionare del tutto. @@ -33,11 +33,11 @@ Description = Otwarty komunikator internetowy, obsÅ‚ugujÄ…cy wiele różnych pro [Section.0418] Description = AplicaÈ›ie de mesagerie instant multiprotocol (open-source) - posibil cu limitări în funcÈ›ionalitate. -Size = 2,8 Mo +Size = 3,8 Mo [Section.041f] Description = Açık kaynak, çoklu iletiÅŸim kâideli, evgin iletileÅŸme uygulaması. Eksiksiz olarak çalışmayabilir. -Size = 2,8 MB +Size = 3,8 MB [Section.0422] Description = Відкрита мультипротокольна програма миттєвих повідомлень - може не працювати повніÑтю. diff --git a/reactos/base/applications/rapps/rapps/mpc.txt b/reactos/base/applications/rapps/rapps/mpc.txt index 1f1f1d6f519..d02be1dc9e4 100644 --- a/reactos/base/applications/rapps/rapps/mpc.txt +++ b/reactos/base/applications/rapps/rapps/mpc.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Media Player Classic Home Cinema -Version = 1.7.4 +Version = 1.7.5 Licence = GPL Description = A media player. Size = 10.1 MB Category = 2 URLSite = http://mpc-hc.org/ -URLDownload = http://download.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.7.4_x86/MPC-HC.1.7.4.x86.exe +URLDownload = http://download.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.7.5_x86/MPC-HC.1.7.5.x86.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/npp.txt b/reactos/base/applications/rapps/rapps/npp.txt index eb9e917d3e8..1789aee6f58 100644 --- a/reactos/base/applications/rapps/rapps/npp.txt +++ b/reactos/base/applications/rapps/rapps/npp.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Notepad++ -Version = 6.5.5 +Version = 6.6.3 Licence = GPL Description = A text editor. Size = 7.3 MB Category = 6 URLSite = http://notepad-plus-plus.org/ -URLDownload = http://download.tuxfamily.org/notepadplus/6.5.5/npp.6.5.5.Installer.exe +URLDownload = http://download.tuxfamily.org/notepadplus/6.6.3/npp.6.6.3.Installer.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/openoffice.txt b/reactos/base/applications/rapps/rapps/openoffice.txt index 3e18dc4de54..b7f0daef081 100644 --- a/reactos/base/applications/rapps/rapps/openoffice.txt +++ b/reactos/base/applications/rapps/rapps/openoffice.txt @@ -1,52 +1,52 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] -Name = OpenOffice 4.0 -Version = 4.0.1 +Name = OpenOffice 4.1 +Version = 4.1.0 Licence = LGPL Description = The open source office suite. Size = 136.79 MB Category = 6 URLSite = http://www.openoffice.org/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/en-US/Apache_OpenOffice_4.0.1_Win_x86_install_en-US.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/en-US/Apache_OpenOffice_4.1.0_Win_x86_install_en-US.exe CDPath = none [Section.0407] Description = DIE Open Source Office Suite. (FIXME) Size = 154.88 MB URLSite = http://www.openoffice.org/de/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/de/Apache_OpenOffice_4.0.1_Win_x86_install_de.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/de/Apache_OpenOffice_4.1.0_Win_x86_install_de.exe [Section.040a] Description = La suite de ofimática de código abierto. Size = 126.29 MB URLSite = http://www.openoffice.org/es/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/es/Apache_OpenOffice_4.0.1_Win_x86_install_es.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/es/Apache_OpenOffice_4.1.0_Win_x86_install_es.exe [Section.040c] Description = LA suite bureautique open source. Size = 127,22 Mo URLSite = http://www.openoffice.org/fr/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/fr/Apache_OpenOffice_4.0.1_Win_x86_install_fr.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/fr/Apache_OpenOffice_4.1.0_Win_x86_install_fr.exe [Section.0410] Description = La suite di office Open Source. Size = 132.39 MB URLSite = http://www.openoffice.org/it/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/it/Apache_OpenOffice_4.0.1_Win_x86_install_it.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/it/Apache_OpenOffice_4.1.0_Win_x86_install_it.exe [Section.0413] Description = Open-bron Office Pakket. (FIXME) Size = 132.11 MB URLSite = http://www.openoffice.org/nl/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/nl/Apache_OpenOffice_4.0.1_Win_x86_install_nl.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/nl/Apache_OpenOffice_4.1.0_Win_x86_install_nl.exe [Section.0415] Description = Otwarty pakiet biurowy. Size = 127.47 MB URLSite = http://www.openoffice.org/pl/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/pl/Apache_OpenOffice_4.0.1_Win_x86_install_pl.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/pl/Apache_OpenOffice_4.1.0_Win_x86_install_pl.exe [Section.0418] Description = Suita de aplicaÈ›ii de birotică open-source. @@ -57,7 +57,7 @@ URLSite = http://www.openoffice.org/ro/ Description = Bir açık kaynak büro takımı. Size = 124,36 MB URLSite = http://www.openoffice.org/tr/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/tr/Apache_OpenOffice_4.0.1_Win_x86_install_tr.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/tr/Apache_OpenOffice_4.1.0_Win_x86_install_tr.exe [Section.0422] Description = Відкритий офіÑний пакет. @@ -68,4 +68,4 @@ URLSite = http://www.openoffice.org/ua/ Description = Open-bron Office Pakket. (FIXME) Size = 132.11 MB URLSite = http://www.openoffice.org/nl/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/nl/Apache_OpenOffice_4.0.1_Win_x86_install_nl.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/nl/Apache_OpenOffice_4.1.0_Win_x86_install_nl.exe diff --git a/reactos/base/applications/rapps/rapps/opera.txt b/reactos/base/applications/rapps/rapps/opera.txt index 4e86e6748e3..38fcabbd6ab 100644 --- a/reactos/base/applications/rapps/rapps/opera.txt +++ b/reactos/base/applications/rapps/rapps/opera.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Opera -Version = 12.16 +Version = 12.17 Licence = Freeware Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client. -Size = 12.56 MB +Size = 12.57 MB Category = 5 URLSite = http://www.opera.com/ -URLDownload = http://ftp.opera.com/pub/opera/win/1216/int/Opera_1216_int_Setup.exe +URLDownload = http://ftp.opera.com/pub/opera/win/1217/int/Opera_1217_int_Setup.exe CDPath = none [Section.0405] @@ -23,7 +23,7 @@ Description = Popular navegador web con muchas características avanzadas e incl [Section.040c] Description = Le populaire navigateur Opera avec beaucoup de fonctionnalités avancées, incluant un client mail et BitTorrent. -Size = 12,56 Mo +Size = 12,57 Mo [Section.0410] Description = Il famoso browser Opera con funzionalità avanzate come un client BitTorrent integrato e la gestione delle Mail. @@ -37,7 +37,7 @@ Description = Popularna przeglÄ…darka internetowa z wieloma zaawansowanymi funkc [Section.0418] Licence = Gratuită Description = Navigatorul popular Opera cu multe funcÈ›ionalități avansate incluzând poÈ™tă electronică È™i un client de BitTorrent. -Size = 12,56 Mo +Size = 12,57 Mo [Section.0419] Description = ПопулÑрный браузер Ñо многими дополнительными возможноÑÑ‚Ñми, включающий клиентов почты и BitTorrent. @@ -45,7 +45,7 @@ Description = ПопулÑрный браузер Ñо многими допол [Section.041f] Licence = Ücretsiz Description = Bir posta ve BitTorrent istemcisini kapsayan birçok geliÅŸmiÅŸ husûsiyetle, tutulan Opera Tarayıcı. -Size = 12,56 MB +Size = 12,57 MB [Section.0422] Description = ПопулÑрний браузер з багатьма додатковими можливоÑÑ‚Ñми, Ñкий включає в Ñебе поштовий та BitTorrent клієнти. diff --git a/reactos/base/applications/rapps/rapps/peazip.txt b/reactos/base/applications/rapps/rapps/peazip.txt index 73b6dbb03db..5ab4aa06a87 100644 --- a/reactos/base/applications/rapps/rapps/peazip.txt +++ b/reactos/base/applications/rapps/rapps/peazip.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = PeaZip -Version = 5.3.0 +Version = 5.3.1 Licence = LGPL v3, OpenCandy EULA Description = PeaZip is a free, cross-platform, open source file and archive manager. It supports over 150 archive formats. Size = 5.8 MB Category = 12 URLSite = http://peazip.sourceforge.net/ -URLDownload = http://sourceforge.net/projects/peazip/files/5.3.0/peazip-5.3.0.WINDOWS.exe +URLDownload = http://download.sourceforge.net/project/peazip/5.3.1/peazip-5.3.1.WINDOWS.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/putty.txt b/reactos/base/applications/rapps/rapps/putty.txt index fe722146a1a..84c56761457 100644 --- a/reactos/base/applications/rapps/rapps/putty.txt +++ b/reactos/base/applications/rapps/rapps/putty.txt @@ -36,7 +36,7 @@ Description = Un client gratuit de SSH, Telnet, rlogin, and TCP brut. Size = 1,78 Mo [Section.041f] -Description = Özgür bir SSH, Telnet, rlogin ve iÅŸlenmemiÅŸ TCP istemcisi. +Description = Ücretsiz bir SSH, Telnet, rlogin ve iÅŸlenmemiÅŸ TCP istemcisi. Size = 1,78 MB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/python.txt b/reactos/base/applications/rapps/rapps/python.txt index b89b1f3dffb..c05adef8109 100644 --- a/reactos/base/applications/rapps/rapps/python.txt +++ b/reactos/base/applications/rapps/rapps/python.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Python 3 -Version = 3.4.0 +Version = 3.4.1 Licence = GPL/LGPL Description = A remarkably powerful dynamic programming language. -Size = 23.4 MB +Size = 23.3 MB Category = 7 URLSite = http://www.python.org/ -URLDownload = http://www.python.org/ftp/python/3.4.0/python-3.4.0.msi +URLDownload = http://www.python.org/ftp/python/3.4.1/python-3.4.1.msi CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Un lenguaje de programación dinámico sumamente potente. [Section.040c] Description = Un langage de programmation dynamique remarquablement puissant. -Size = 23,4 Mo +Size = 23,3 Mo [Section.0410] Description = Un Linguaggio di programmazione dinamico e potente. @@ -33,11 +33,11 @@ Description = Potęży i dynamiczny jÄ™zyk programowania. [Section.0418] Description = Un limbaj de programare dinamic È™i puternic. -Size = 23,4 Mo +Size = 23,3 Mo [Section.041f] Description = Dikkat çekici, güçlü ve devingen bir izlenceleme dili. -Size = 23,4 MB +Size = 23,3 MB [Section.0422] Description = Дуже потужна динамічна мова програмуваннÑ. diff --git a/reactos/base/applications/rapps/rapps/qmmp.txt b/reactos/base/applications/rapps/rapps/qmmp.txt index 574e6fc1f95..ef7cb476bee 100644 --- a/reactos/base/applications/rapps/rapps/qmmp.txt +++ b/reactos/base/applications/rapps/rapps/qmmp.txt @@ -1,16 +1,16 @@ -; UTF-8 +; UTF-8 ; Polish translation by wojo664 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Qmmp (Qt-based Multimedia Player) -Version = 0.7.3 +Version = 0.7.7 Licence = GPL Description = Qmmp is an audio-player, written with the help of the Qt library. The user interface is similar to WinAMP or XMMS. Alternative user interfaces also are available. -Size = 16.0 MB +Size = 10.5 MB Category = 1 URLSite = http://qmmp.ylsoftware.com/index.php -URLDownload = http://qmmp.ylsoftware.com/files/windows/qmmp-0.7.3-win32.exe +URLDownload = http://qmmp.ylsoftware.com/files/windows/qmmp-0.7.7-win32.exe CDPath = none [Section.0407] @@ -24,7 +24,7 @@ Description = Gmmp to odtwarzacz audio, napisany z pomocÄ… biblioteki Qt. Interf [Section.0418] Description = Qmmp este un lector audio, ce utilizează biblioteca QT. InterfaÈ›a de utilizare e asemănătoare cu cea din WinAMP sau XMMS. De asemenea sunt disponibile interfeÈ›e de utilizare alternative. -Size = 16,0 Mo +Size = 10,5 Mo [Section.0419] Description = Ðудиоплеер Qmmp (Qt-based Multimedia Player). @@ -32,4 +32,4 @@ Description = Ðудиоплеер Qmmp (Qt-based Multimedia Player). [Section.041f] Name = Qmmp (Qt Tabanlı Çoklu Ortam Oynatıcısı) Description = Qmmp, Qt kitaplığının yardımıyla yazılmış bir ses oynatıcısıdır. Kullanıcı arayüzü WinAMP'a ve XMMS'ye benzer. BaÅŸka kullanıcı arayüzleri de vardır. -Size = 16,0 MB +Size = 10,5 MB diff --git a/reactos/base/applications/rapps/rapps/rosbe.txt b/reactos/base/applications/rapps/rapps/rosbe.txt index 962526d96b5..acb5093f961 100644 --- a/reactos/base/applications/rapps/rapps/rosbe.txt +++ b/reactos/base/applications/rapps/rapps/rosbe.txt @@ -9,7 +9,7 @@ Description = Allows you to build the ReactOS Source. For more instructions see Size = 28.3 MB Category = 7 URLSite = http://reactos.org/wiki/Build_Environment -URLDownload = http://downloads.sourceforge.net/reactos/RosBE-2.1.1.exe +URLDownload = http://download.sourceforge.net/reactos/RosBE-2.1.1.exe CDPath = none [Section.0405] diff --git a/reactos/base/applications/rapps/rapps/scite.txt b/reactos/base/applications/rapps/rapps/scite.txt index e51ffc902c9..09b89c5c45a 100644 --- a/reactos/base/applications/rapps/rapps/scite.txt +++ b/reactos/base/applications/rapps/rapps/scite.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = SciTE -Version = 3.4.1 +Version = 3.4.3 Licence = Freeware Description = SciTE is a SCIntilla based text editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. -Size = 730 kB +Size = 737 kB Category = 7 URLSite = http://www.scintilla.org/ -URLDownload = http://download.sourceforge.net/project/scintilla/SciTE/3.4.1/Sc341.exe +URLDownload = http://download.sourceforge.net/project/scintilla/SciTE/3.4.3/Sc343.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Editor de texto basado en SCIntilla. Originalmente creado para dem [Section.040c] Description = SciTE est un éditeur de texte basé sur SCIntilla. Originelement réalisé pour montrer Scintilla, il a évolué pour devenir un éditeur généralement utile avec des options pour compiler et lancer des programmes. -Size = 730 ko +Size = 737 ko [Section.0410] Description = SciTE è un editor di testo basato su scintilla. Originariamente costruito per dimostrare Scintilla, è cresciuto fino a essere un editor generalmente utile con strutture per la creazione e l'esecuzione di programmi. @@ -34,12 +34,12 @@ Description = SciTE to edytor tekstu bazowany na SCIntilla. Oryginalnie stworzon [Section.0418] Licence = Gratuită Description = SciTE este un editor de text bazat pe SCIntilla. Construit iniÈ›ial pentru a demonstra Scintilla, a crescut ulterior într-un editor de uz general cu funcÈ›ionalități de compilare È™i execuÈ›ie a programelor. -Size = 730 ko +Size = 737 ko [Section.041f] Licence = Ücretsiz Description = SciTE, bir Scintilla tabanlı metin düzenleyicisidir. İlk baÅŸta Scintilla'yı göstermek için yapıldı, izlenceleri yapmak ve çalıştırmak yetenekleriyle bir umûmiyetle kullanışlı düzenleyici olmak için geliÅŸti. -Size = 730 KB +Size = 737 KB [Section.0422] Description = ТекÑтовий редактор на оÑнові SCIntilla. Був зібраний Ñк Ð¿Ñ€ÐµÐ·ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ Scintilla, але Ð²Ð¸Ñ€Ñ–Ñ Ð´Ð¾ редактора загального кориÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð· заÑобами Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð° запуÑку програм. diff --git a/reactos/base/applications/rapps/rapps/sdl_runtime.txt b/reactos/base/applications/rapps/rapps/sdl_runtime.txt index 3e16033d841..89849bec9d7 100644 --- a/reactos/base/applications/rapps/rapps/sdl_runtime.txt +++ b/reactos/base/applications/rapps/rapps/sdl_runtime.txt @@ -40,7 +40,7 @@ Description = Necesar pentru execuÈ›ia multor jocuri (open-source). DezarhivaÈ›i Size = 136,67 ko [Section.041f] -Name = SDL (Bayağı DoÄŸrudan Ortam Katmanı) Yürütücüsü +Name = SDL (Bayağı DoÄŸrudan Ortam Katmanı) Yürütücü Description = Birçok açık kaynak oyunu çalıştırmak için gereklidir. Çıkartmak için 7-Zip ya da benzeri bir yazılım kullanmanız gerekir. Size = 136,67 KB diff --git a/reactos/base/applications/rapps/rapps/seamonkey.txt b/reactos/base/applications/rapps/rapps/seamonkey.txt index 706345b6968..16621853755 100644 --- a/reactos/base/applications/rapps/rapps/seamonkey.txt +++ b/reactos/base/applications/rapps/rapps/seamonkey.txt @@ -1,46 +1,46 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Mozilla SeaMonkey -Version = 2.25 +Version = 2.26 Licence = MPL/GPL/LGPL Description = Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need. Size = 23.90 MB Category = 5 URLSite = http://www.seamonkey-project.org/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/en-US/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/en-US/SeaMonkey%20Setup%202.26.exe CDPath = none [Section.0407] Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen. Size = 23.80 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/de/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/de/SeaMonkey%20Setup%202.26.exe [Section.040a] Description = La suite de Mozilla está viva. Es el primero y único navegador web, gestor de correo, lector de noticias, Chat y editor HTML que necesitarás. Size = 23.79 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/es-ES/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/es-ES/SeaMonkey%20Setup%202.26.exe [Section.040c] Description = La suite Mozilla est en vie. Ceci est le seul et l'unique package navigateur, client mail, client chat et composer dont vous aurez besoin. Size = 24,06 Mo -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/fr/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/fr/SeaMonkey%20Setup%202.26.exe [Section.0410] Description = Mozilla Suite è vivo. Questo è l'unico pachetto che include Browser, Mail, Chat, e Composer di cui avrete mai bisogno... Size = 23.71 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/it/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/it/SeaMonkey%20Setup%202.26.exe [Section.0413] Description = Mozilla Suite bundelt alle applicaties voor het Web: Browser, Mail, Chat, Composer. Size = 24.40 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/nl/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/nl/SeaMonkey%20Setup%202.26.exe [Section.0415] Description = Pakiet Mozilla żyje. W zestawie: przeglÄ…darka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz. Size = 24.72 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/pl/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/pl/SeaMonkey%20Setup%202.26.exe [Section.0418] Description = Suita Mozilla. Acest pachet ce încorporează navigator, poÈ™tă electronică, client IRC È™i editor HTML, acoperind astfel o arie largă de necesități. @@ -49,14 +49,14 @@ Size = 23,90 Mo [Section.0419] Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор. Size = 24.27 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/ru/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/ru/SeaMonkey%20Setup%202.26.exe [Section.041f] Description = Mozilla Bohçası saÄŸ. Bu, hiç gereksinim duymayacağınız, yalnızca Tarayıcı, Posta, SöyleÅŸi ve Yazar bohçasıdır. Size = 23,83 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/tr/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/tr/SeaMonkey%20Setup%202.26.exe [Section.0422] Description = ÐŸÑ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Mozilla Suite. Включає в Ñебе браузер, поштовий клієнт, IRC-клієнт та HTML-редактор. Size = 24.27 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/ru/SeaMonkey%20Setup%202.25.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/ru/SeaMonkey%20Setup%202.26.exe diff --git a/reactos/base/applications/rapps/rapps/sumatrapdf.txt b/reactos/base/applications/rapps/rapps/sumatrapdf.txt index d48bad627fd..9c508a32000 100644 --- a/reactos/base/applications/rapps/rapps/sumatrapdf.txt +++ b/reactos/base/applications/rapps/rapps/sumatrapdf.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = SumatraPDF -Version = 2.4 +Version = 2.5.2 Licence = GPLv3 Description = Sumatra PDF is a slim, free, open-source PDF reader. Portable out of the box. Size = 4.0 MB Category = 6 URLSite = http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader.html -URLDownload = https://kjkpub.s3.amazonaws.com/sumatrapdf/rel/SumatraPDF-2.4-install.exe +URLDownload = https://kjkpub.s3.amazonaws.com/sumatrapdf/rel/SumatraPDF-2.5.2-install.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/thunderbird.txt b/reactos/base/applications/rapps/rapps/thunderbird.txt index bb86e892602..61cadb98e24 100644 --- a/reactos/base/applications/rapps/rapps/thunderbird.txt +++ b/reactos/base/applications/rapps/rapps/thunderbird.txt @@ -1,79 +1,79 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Mozilla Thunderbird 24 -Version = 24.4.0 +Version = 24.5.0 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Mail Clients out there. Size = 21.12 MB Category = 5 URLSite = https://www.mozilla.org/en-US/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/en-US/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/en-US/Thunderbird%20Setup%2024.5.0.exe CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Mail-Clients. Size = 20.96 MB URLSite = https://www.mozilla.org/de/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/de/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/de/Thunderbird%20Setup%2024.5.0.exe [Section.040a] Description = El más popular y uno de los mejores clientes mail que hay. Size = 20.92 MB URLSite = https://www.mozilla.org/es-ES/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/es-ES/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/es-ES/Thunderbird%20Setup%2024.5.0.exe [Section.040c] Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. Size = 21,27 Mo URLSite = https://www.mozilla.org/fr/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/fr/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/fr/Thunderbird%20Setup%2024.5.0.exe [Section.0410] Description = Il più popolare e il migliore Client mail gratuito. Size = 20.91 MB URLSite = https://www.mozilla.org/it/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/it/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/it/Thunderbird%20Setup%2024.5.0.exe [Section.0413] Description = De meest populaire en een van de beste gratis e-mail-programma's. Size = 21.61 MB URLSite = https://www.mozilla.org/nl/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/nl/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/nl/Thunderbird%20Setup%2024.5.0.exe [Section.0415] Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. Size = 21.80 MB URLSite = https://www.mozilla.org/pl/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/pl/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/pl/Thunderbird%20Setup%2024.5.0.exe [Section.0418] Description = Cel mai popular È™i unul dintre cele mai bune clientele gratuite de poÈ™tă electronică. Size = 21,48 Mo URLSite = https://www.mozilla.org/ro/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/ro/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/ro/Thunderbird%20Setup%2024.5.0.exe [Section.0419] Description = Один из Ñамых популÑрных и лучших беÑплатных почтовых клиентов. Size = 21.38 MB URLSite = https://www.mozilla.org/ru/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/ru/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/ru/Thunderbird%20Setup%2024.5.0.exe [Section.041f] Description = Özgür posta istemcileri arasında en tutulanı ve en iyilerinden biri. Size = 20,99 MB URLSite = https://www.mozilla.org/tr/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/tr/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/tr/Thunderbird%20Setup%2024.5.0.exe [Section.0422] Description = ÐайпопулÑрніший та один з кращих поштових клієнтів. Size = 21.41 MB URLSite = https://www.mozilla.org/uk/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/uk/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/uk/Thunderbird%20Setup%2024.5.0.exe [Section.0813] Description = De meest populaire en een van de beste gratis e-mail-programma's. Size = 9.71 MB URLSite = https://www.mozilla.org/nl/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/nl/Thunderbird%20Setup%2024.4.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.5.0/win32/nl/Thunderbird%20Setup%2024.5.0.exe diff --git a/reactos/base/applications/rapps/rapps/totalcommander.txt b/reactos/base/applications/rapps/rapps/totalcommander.txt index 07446c9e1ad..e7980801ee6 100644 --- a/reactos/base/applications/rapps/rapps/totalcommander.txt +++ b/reactos/base/applications/rapps/rapps/totalcommander.txt @@ -1,15 +1,15 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = Total Commander -Version = 8.50 +Version = 8.51a Licence = Shareware Description = Total Commander is a file manager with two panels side by side. -Size = 3.5 MB +Size = 3.55 MB Category = 12 URLSite = http://www.ghisler.com/ -URLDownload = http://www.slo.ru/download/total_commander/tcm850x32.exe +URLDownload = http://www.slo.ru/download/total_commander/tcm851ax32.exe CDPath = none [Section.0407] @@ -28,12 +28,12 @@ Description = Total Commander to popularny menedżer plików z dwoma panelami, u [Section.0418] Licence = Versiune de evaluare Description = Total Commander este un gestionar de fiÈ™iere după modelul «două paneluri alăturate». -Size = 3,5 Mo +Size = 3,55 Mo [Section.041f] Licence = Paylaşımlı Description = Total Commander, yan yana iki bölmeli bir kütük yöneticisidir. -Size = 3,5 MB +Size = 3,55 MB [Section.0813] Description = Total Commander is een bestandsbeheerder met twee panelen zij aan zij. diff --git a/reactos/base/applications/rapps/rapps/utorrent.txt b/reactos/base/applications/rapps/rapps/utorrent.txt index 0fb3c5aae9c..b5206838136 100644 --- a/reactos/base/applications/rapps/rapps/utorrent.txt +++ b/reactos/base/applications/rapps/rapps/utorrent.txt @@ -1,9 +1,9 @@ -; UTF-8 +; UTF-8 ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] Name = µTorrent -Version = 3.4.1 +Version = 3.4.2 Licence = Freeware for non-commercial uses Description = Small and fast BitTorrent Client. Size = 1.6 MB diff --git a/reactos/base/applications/rapps/rapps/vb5run.txt b/reactos/base/applications/rapps/rapps/vb5run.txt index 26e78bc3215..a588264dbc1 100644 --- a/reactos/base/applications/rapps/rapps/vb5run.txt +++ b/reactos/base/applications/rapps/rapps/vb5run.txt @@ -43,9 +43,9 @@ Description = Microsoft Visual Basic 5 Runtime. ConÈ›ine: advpack.dll, asycfilt. Size = 969,59 ko [Section.041f] -Name = Microsoft Visual Basic 5 Yürütücüsü +Name = Microsoft Visual Basic 5 Yürütücü Licence = Bilinmiyor -Description = Microsoft Visual Basic 5 Yürütücüsü. Åžunları içerir: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. +Description = Microsoft Visual Basic 5 Yürütücü. Åžunları içerir: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. Size = 969,59 KB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/vb6run.txt b/reactos/base/applications/rapps/rapps/vb6run.txt index b6a0291cbb5..ac1efdf9a65 100644 --- a/reactos/base/applications/rapps/rapps/vb6run.txt +++ b/reactos/base/applications/rapps/rapps/vb6run.txt @@ -43,9 +43,9 @@ Description = Microsoft Visual Basic 6 Runtime. ConÈ›ine: advpack.dll, asycfilt. Size = 1,02 Mo [Section.041f] -Name = Microsoft Visual Basic 6 Yürütücüsü +Name = Microsoft Visual Basic 6 Yürütücü Licence = Bilinmiyor -Description = Microsoft Visual Basic 6 Yürütücüsü. Åžunları içerir: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. +Description = Microsoft Visual Basic 6 Yürütücü. Åžunları içerir: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. Size = 1,02 MB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/vc2005sp1run.txt b/reactos/base/applications/rapps/rapps/vc2005sp1run.txt index b5aac6a4e5c..278fd96e011 100644 --- a/reactos/base/applications/rapps/rapps/vc2005sp1run.txt +++ b/reactos/base/applications/rapps/rapps/vc2005sp1run.txt @@ -45,7 +45,7 @@ Size = 2,6 Mo [Section.041f] Name = Microsoft Visual C++ 2005 SP1 Yeniden Dağıtılabilir Paket Licence = Bilinmiyor -Description = Microsoft Visual Studio 2005 Yürütücüsü SP1. Åžunları içerir: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. +Description = Microsoft Visual Studio 2005 Yürütücü SP1. Åžunları içerir: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. Size = 2,6 MB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/vc2008sp1run.txt b/reactos/base/applications/rapps/rapps/vc2008sp1run.txt index dd2527f40ac..48f9ef730ed 100644 --- a/reactos/base/applications/rapps/rapps/vc2008sp1run.txt +++ b/reactos/base/applications/rapps/rapps/vc2008sp1run.txt @@ -45,7 +45,7 @@ Size = 4,02 Mo [Section.041f] Name = Microsoft Visual C++ 2008 SP1 Yeniden Dağıtılabilir Paket Licence = Bilinmiyor -Description = Microsoft Visual Studio 2008 SP1 Yürütücüsü. Åžunları içerir: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. +Description = Microsoft Visual Studio 2008 SP1 Yürütücü. Åžunları içerir: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. Size = 4,02 MB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/vc2010run.txt b/reactos/base/applications/rapps/rapps/vc2010run.txt index c579426f2ef..180fc739e1f 100644 --- a/reactos/base/applications/rapps/rapps/vc2010run.txt +++ b/reactos/base/applications/rapps/rapps/vc2010run.txt @@ -45,7 +45,7 @@ Size = 4,8 Mo [Section.041f] Name = Microsoft Visual C++ 2010 Yeniden Dağıtılabilir Paket Licence = Bilinmiyor -Description = Microsoft Visual Studio 2010 Yürütücüsü. Åžunları içerir: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. +Description = Microsoft Visual Studio 2010 Yürütücü. Åžunları içerir: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. Size = 4,8 MB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/vc6run.txt b/reactos/base/applications/rapps/rapps/vc6run.txt index 203c5227cc8..831205b60bd 100644 --- a/reactos/base/applications/rapps/rapps/vc6run.txt +++ b/reactos/base/applications/rapps/rapps/vc6run.txt @@ -45,7 +45,7 @@ Size = 1,75 Mo [Section.041f] Name = Microsoft Visual C++ 6 Yeniden Dağıtılabilir Paket Licence = Bilinmiyor -Description = Microsoft Visual Studio 6 Yürütücüsü. Åžunları içerir: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. +Description = Microsoft Visual Studio 6 Yürütücü. Åžunları içerir: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. Size = 1,75 MB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/winboard.txt b/reactos/base/applications/rapps/rapps/winboard.txt index adbc371bf2e..001c3b05908 100644 --- a/reactos/base/applications/rapps/rapps/winboard.txt +++ b/reactos/base/applications/rapps/rapps/winboard.txt @@ -4,8 +4,8 @@ [Section] Name = WinBoard Version = 4.2.7b -Licence = GPL 3 -Description = WinBoard is a graphical chessboard for the Windows/ReactOS that can serve as a user interface for GNU Chess, Crafty, and other chess engines, for the Internet Chess Servers, and for electronic mail correspondence chess. +Licence = GPLv3 +Description = WinBoard is a graphical chessboard for the Windows/ReactOS that can serve as a user interface for GNU Chess, Crafty, and other chess engines, for the Internet chess servers, and for electronic mail correspondence chess. Size = 5.93 MB Category = 4 URLSite = http://www.gnu.org/software/xboard/ @@ -36,7 +36,8 @@ Description = WinBoard este o tablă de È™ah grafică pentru Windows/ReactOS ce Size = 5,93 Mo [Section.041f] -Description = WinBoard; GNU Chess, Crafty ve diÄŸer satranç motorlarını Umûmî AÄŸ satranç sunucuları ve postayla yazışmalı satranç için bir arayüz olarak sunan, Windows/ReactOS için bir çizgelik satranç tahtasıdır. +Licence = GPL 3. sürüm +Description = WinBoard, Umûmî AÄŸ satranç sunucularına ve postayla yazışmalı satranca GNU Chess, Crafty ve baÅŸka satranç motorlarını bir kullanıcı arayüzü olarak sunabilen, Windows/ReactOS için bir çizgelik satranç tahtasıdır. Size = 5,93 MB [Section.0422] diff --git a/reactos/base/applications/rapps/rapps/zaz.txt b/reactos/base/applications/rapps/rapps/zaz.txt index 9ecd11079d3..ab8ebf375fe 100644 --- a/reactos/base/applications/rapps/rapps/zaz.txt +++ b/reactos/base/applications/rapps/rapps/zaz.txt @@ -6,7 +6,7 @@ Name = Zaz Version = 1.0.0 Licence = GPL -Description = Zaz is a free software arcade action puzzle computer game, a little bit like Frozen Bubble. +Description = Zaz is a free arcade action puzzle computer game, a little bit like Frozen Bubble. Size = 21.0 MB Category = 4 URLSite = http://zaz.sourceforge.net @@ -27,5 +27,5 @@ Description = Zaz este un joc de acÈ›iune de tip enigmă/arcadă, asemănător c Size = 21,0 Mo [Section.041f] -Description = Zaz, atari salonu oyunu türünde, geliÅŸimli bir bulmaca oyunudur. Bir nebze DonmuÅŸ Kabarcıklar'a benzemektedir. +Description = Zaz; ücretsiz, atari salonu oyunu türünde, devingen bir bulmaca oyunudur, birazcık Frozen Bubble'a benzer. Size = 21,0 MB diff --git a/reactos/cmake/config.cmake b/reactos/cmake/config.cmake index 4b04be8fa0c..a5b44e81cb8 100644 --- a/reactos/cmake/config.cmake +++ b/reactos/cmake/config.cmake @@ -58,7 +58,7 @@ set(_ELF_ FALSE CACHE BOOL "Whether to compile support for ELF files. Do not enable unless you know what you're doing.") -set(NSWPAT FALSE CACHE BOOL +set(NSWPAT TRUE CACHE BOOL "Whether to build apps/libs with features covered by software patents. If you live in a country where software patents are valid/apply, don't enable this (except they/you purchased a license from the patent owner). From f927f702e67e3e7cd61ff1a7d50333d15bee8a50 Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Sun, 1 Jun 2014 12:00:32 +0000 Subject: [PATCH 024/120] Revert that... sorry svn path=/trunk/; revision=63528 --- reactos/cmake/config.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/cmake/config.cmake b/reactos/cmake/config.cmake index a5b44e81cb8..4b04be8fa0c 100644 --- a/reactos/cmake/config.cmake +++ b/reactos/cmake/config.cmake @@ -58,7 +58,7 @@ set(_ELF_ FALSE CACHE BOOL "Whether to compile support for ELF files. Do not enable unless you know what you're doing.") -set(NSWPAT TRUE CACHE BOOL +set(NSWPAT FALSE CACHE BOOL "Whether to build apps/libs with features covered by software patents. If you live in a country where software patents are valid/apply, don't enable this (except they/you purchased a license from the patent owner). From 1591c797438f97e193c80680ae35d4d90b305958 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 1 Jun 2014 17:07:09 +0000 Subject: [PATCH 025/120] [KS] Fix to compile with STRICT enabled [CMAKE] Enable rostests in x64 build svn path=/trunk/; revision=63529 --- reactos/drivers/ksfilter/ks/filterfactory.c | 4 ++-- reactos/modules/CMakeLists.txt | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/reactos/drivers/ksfilter/ks/filterfactory.c b/reactos/drivers/ksfilter/ks/filterfactory.c index 5ad12916f46..d5bc6fd3361 100644 --- a/reactos/drivers/ksfilter/ks/filterfactory.c +++ b/reactos/drivers/ksfilter/ks/filterfactory.c @@ -542,7 +542,7 @@ KsFilterFactoryUpdateCacheData( PLIST_ENTRY Entry; PSYMBOLIC_LINK_ENTRY SymEntry; BOOLEAN Found; - HKEY hKey; + HANDLE hKey; NTSTATUS Status = STATUS_SUCCESS; IKsFilterFactoryImpl * Factory = (IKsFilterFactoryImpl*)CONTAINING_RECORD(FilterFactory, IKsFilterFactoryImpl, FilterFactory); @@ -742,5 +742,5 @@ KsFilterFactoryUpdateCacheData( /* done */ return Status; -} +} diff --git a/reactos/modules/CMakeLists.txt b/reactos/modules/CMakeLists.txt index 2eda3458e1b..22e0cfc6886 100644 --- a/reactos/modules/CMakeLists.txt +++ b/reactos/modules/CMakeLists.txt @@ -1,6 +1,4 @@ -if(NOT ARCH STREQUAL "amd64") - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/rostests/) add_subdirectory(rostests) endif() @@ -12,5 +10,3 @@ endif() if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/wallpaper/) add_subdirectory(wallpaper) endif() - -endif() From ac7d530c44531e849b708f85bad9b548b493dd42 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 1 Jun 2014 21:47:51 +0000 Subject: [PATCH 026/120] [INCLUDE] - Move definition of va_list to crtdefs.h - Remove useless definitions from vadefs.h - Cleanup the mess in stdarg.h - Add memmove prototype to intrin_x86.h, since it's used there - basetyps.h: guard STDMETHODCALLTYPE & friends from redefinition - guiddef.h: define FAR, include string.h - ntdef.h: don't include stdarg.h and string anymore, enable STRICT, remove FAR, add STDMETHODCALLTYPE & friends svn path=/trunk/; revision=63530 --- reactos/include/crt/crtdefs.h | 24 ++++- reactos/include/crt/mingw32/intrin_x86.h | 1 + reactos/include/crt/stdarg.h | 118 ++--------------------- reactos/include/crt/vadefs.h | 33 ------- reactos/include/psdk/basetyps.h | 2 + reactos/include/psdk/guiddef.h | 8 ++ reactos/include/psdk/ntdef.h | 47 ++++++--- 7 files changed, 68 insertions(+), 165 deletions(-) diff --git a/reactos/include/crt/crtdefs.h b/reactos/include/crt/crtdefs.h index 5e42ef01496..b76dbf5682b 100644 --- a/reactos/include/crt/crtdefs.h +++ b/reactos/include/crt/crtdefs.h @@ -20,6 +20,10 @@ #endif #endif +#undef _CRT_PACKING +#define _CRT_PACKING 8 +#pragma pack(push,_CRT_PACKING) + /* Disable non-ANSI C definitions if compiling with __STDC__ */ //HACK: Disabled //#if __STDC__ @@ -29,10 +33,6 @@ /** Properties ***************************************************************/ -#undef _CRT_PACKING -#define _CRT_PACKING 8 -#pragma pack(push,_CRT_PACKING) - #ifndef _CRT_STRINGIZE #define __CRT_STRINGIZE(_Value) #_Value #define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value) @@ -327,6 +327,22 @@ extern "C" { typedef unsigned short wctype_t; #endif +#ifdef __GNUC__ +#ifndef __GNUC_VA_LIST +#define __GNUC_VA_LIST + typedef __builtin_va_list __gnuc_va_list; +#endif +#endif + +#ifndef _VA_LIST_DEFINED +#define _VA_LIST_DEFINED +#if defined(__GNUC__) + typedef __gnuc_va_list va_list; +#elif defined(_MSC_VER) + typedef _Writable_bytes_(_Inexpressible_("length varies")) char * va_list; +#endif +#endif + #ifndef _ERRCODE_DEFINED #define _ERRCODE_DEFINED typedef int errcode; diff --git a/reactos/include/crt/mingw32/intrin_x86.h b/reactos/include/crt/mingw32/intrin_x86.h index aac86b20b36..f8f77b0f968 100644 --- a/reactos/include/crt/mingw32/intrin_x86.h +++ b/reactos/include/crt/mingw32/intrin_x86.h @@ -70,6 +70,7 @@ extern "C" { #endif /*** memcopy must be memmove ***/ +void* memmove(void*, const void*, size_t); __INTRIN_INLINE void* memcpy(void* dest, const void* source, size_t num) { return memmove(dest, source, num); diff --git a/reactos/include/crt/stdarg.h b/reactos/include/crt/stdarg.h index 046d0605d8d..fe1bdb9035a 100644 --- a/reactos/include/crt/stdarg.h +++ b/reactos/include/crt/stdarg.h @@ -28,124 +28,18 @@ Boston, MA 02110-1301, USA. */ * ISO C Standard: 7.15 Variable arguments */ +#pragma once + #ifndef _INC_STDARG #define _INC_STDARG + +#include +#include + #ifndef _WIN32 #error Only Win32 target is supported! #endif -#ifndef _STDARG_H -#ifndef _ANSI_STDARG_H_ -#ifndef __need___va_list -#define _STDARG_H -#define _ANSI_STDARG_H_ -#endif /* not __need___va_list */ -#undef __need___va_list - -/* Define __gnuc_va_list. */ - -#ifdef __GNUC__ -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST -typedef __builtin_va_list __gnuc_va_list; -#endif -#endif - -/* Define the standard macros for the user, - if this invocation was from the user program. */ -#ifdef _STDARG_H - -#ifdef __GNUC__ -#define va_start(v,l) __builtin_va_start(v,l) -#define va_end(v) __builtin_va_end(v) -#define va_arg(v,l) __builtin_va_arg(v,l) -#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L -#define va_copy(d,s) __builtin_va_copy(d,s) -#endif -#define __va_copy(d,s) __builtin_va_copy(d,s) -#endif - -/* Define va_list, if desired, from __gnuc_va_list. */ -/* We deliberately do not define va_list when called from - stdio.h, because ANSI C says that stdio.h is not supposed to define - va_list. stdio.h needs to have access to that data type, - but must not use that name. It should use the name __gnuc_va_list, - which is safe because it is reserved for the implementation. */ - -#ifdef _HIDDEN_VA_LIST /* On OSF1, this means varargs.h is "half-loaded". */ -#undef _VA_LIST -#endif - -#ifdef _BSD_VA_LIST -#undef _BSD_VA_LIST -#endif - -#ifdef __GNUC__ -#if defined(__svr4__) || (defined(_SCO_DS) && !defined(__VA_LIST)) -/* SVR4.2 uses _VA_LIST for an internal alias for va_list, - so we must avoid testing it and setting it here. - SVR4 uses _VA_LIST as a flag in stdarg.h, but we should - have no conflict with that. */ -#ifndef _VA_LIST_ -#define _VA_LIST_ -#ifdef __i860__ -#ifndef _VA_LIST -#define _VA_LIST va_list -#endif -#endif /* __i860__ */ -typedef __gnuc_va_list va_list; -#ifdef _SCO_DS -#define __VA_LIST -#endif -#endif /* _VA_LIST_ */ -#else /* not __svr4__ || _SCO_DS */ - -/* The macro _VA_LIST_ is the same thing used by this file in Ultrix. - But on BSD NET2 we must not test or define or undef it. - (Note that the comments in NET 2's ansi.h - are incorrect for _VA_LIST_--see stdio.h!) */ -#if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT) -/* The macro _VA_LIST_DEFINED is used in Windows NT 3.5 */ -#ifndef _VA_LIST_DEFINED -/* The macro _VA_LIST is used in SCO Unix 3.2. */ -#ifndef _VA_LIST -/* The macro _VA_LIST_T_H is used in the Bull dpx2 */ -#ifndef _VA_LIST_T_H -/* The macro __va_list__ is used by BeOS. */ -#ifndef __va_list__ -typedef __gnuc_va_list va_list; -#endif /* not __va_list__ */ -#endif /* not _VA_LIST_T_H */ -#endif /* not _VA_LIST */ -#endif /* not _VA_LIST_DEFINED */ -#if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__)) -#define _VA_LIST_ -#endif -#ifndef _VA_LIST -#define _VA_LIST -#endif -#ifndef _VA_LIST_DEFINED -#define _VA_LIST_DEFINED -#endif -#ifndef _VA_LIST_T_H -#define _VA_LIST_T_H -#endif -#ifndef __va_list__ -#define __va_list__ -#endif - -#endif /* not _VA_LIST_, except on certain systems */ - -#endif /* not __svr4__ */ - -#endif /* __GNUC__ */ -#endif /* _STDARG_H */ - -#endif /* not _ANSI_STDARG_H_ */ -#endif /* not _STDARG_H */ - -#include - #ifndef va_start #define va_start _crt_va_start #endif diff --git a/reactos/include/crt/vadefs.h b/reactos/include/crt/vadefs.h index 5cd9553cfc7..190e7e6a802 100644 --- a/reactos/include/crt/vadefs.h +++ b/reactos/include/crt/vadefs.h @@ -20,39 +20,6 @@ extern "C" { #endif -#ifndef _UINTPTR_T_DEFINED -#define _UINTPTR_T_DEFINED -#ifndef __uintptr_t_defined -#define __uintptr_t_defined -#undef uintptr_t -#ifdef _WIN64 -#if defined(__GNUC__) && defined(__STRICT_ANSI__) - typedef unsigned int uintptr_t __attribute__ ((mode (DI))); -#else - __MINGW_EXTENSION typedef unsigned __int64 uintptr_t; -#endif -#else - typedef unsigned long uintptr_t; -#endif -#endif -#endif - -#ifdef __GNUC__ -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST - typedef __builtin_va_list __gnuc_va_list; -#endif -#endif - -#ifndef _VA_LIST_DEFINED -#define _VA_LIST_DEFINED -#if defined(__GNUC__) - typedef __gnuc_va_list va_list; -#elif defined(_MSC_VER) - typedef char * va_list; -#endif -#endif - #ifdef __cplusplus #define _ADDRESSOF(v) (&reinterpret_cast(v)) #else diff --git a/reactos/include/psdk/basetyps.h b/reactos/include/psdk/basetyps.h index a9f1cc5d97e..94739736cbc 100644 --- a/reactos/include/psdk/basetyps.h +++ b/reactos/include/psdk/basetyps.h @@ -33,6 +33,7 @@ # endif #endif +#ifndef STDMETHODCALLTYPE #define STDMETHODCALLTYPE __stdcall #define STDMETHODVCALLTYPE __cdecl #define STDAPICALLTYPE __stdcall @@ -45,6 +46,7 @@ #define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE #define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE +#endif /* !STDMETHODCALLTYPE */ #if defined(__cplusplus) && !defined(CINTERFACE) # define interface struct diff --git a/reactos/include/psdk/guiddef.h b/reactos/include/psdk/guiddef.h index be843cc085f..22e532b7cf5 100644 --- a/reactos/include/psdk/guiddef.h +++ b/reactos/include/psdk/guiddef.h @@ -18,6 +18,7 @@ #ifndef GUID_DEFINED #define GUID_DEFINED + typedef struct _GUID { #ifdef _MSC_VER @@ -31,6 +32,10 @@ typedef struct _GUID } GUID; #endif +#ifndef FAR +#define FAR +#endif + #ifndef DECLSPEC_SELECTANY #define DECLSPEC_SELECTANY __declspec(selectany) #endif @@ -109,6 +114,8 @@ typedef GUID FMTID,*LPFMTID; #define REFFMTID const FMTID* __MIDL_CONST #endif /* !defined(__cplusplus) && !defined(CINTERFACE) */ +#if !defined(__midl) && !defined(__WIDL__) +#include #if defined(__cplusplus) && !defined(CINTERFACE) __inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2) @@ -131,6 +138,7 @@ __inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2) #define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID))) #endif /* defined(__cplusplus) && !defined(CINTERFACE) */ +#endif /* __midl && __WIDL__ */ #if defined(__cplusplus) && !defined(CINTERFACE) #include diff --git a/reactos/include/psdk/ntdef.h b/reactos/include/psdk/ntdef.h index 8b7b3e03c85..d713c81b6fe 100644 --- a/reactos/include/psdk/ntdef.h +++ b/reactos/include/psdk/ntdef.h @@ -31,10 +31,6 @@ #include #include -// FIXME: Shouldn't be included! -#include -#include - #ifdef __cplusplus extern "C" { #endif @@ -42,7 +38,7 @@ extern "C" { /* Default to strict */ #ifndef NO_STRICT #ifndef STRICT -//#define STRICT 1 // FIXME: disabled for now +#define STRICT 1 #endif #endif @@ -68,11 +64,6 @@ extern "C" { #define CRITICAL #endif -// FIXME: deprecated -#ifndef FAR -#define FAR -#endif - /* Constant modifier */ #ifndef CONST #define CONST const @@ -98,12 +89,6 @@ extern "C" { #define ANYSIZE_ARRAY 1 #endif -#ifdef __cplusplus -#define EXTERN_C extern "C" -#else -#define EXTERN_C extern -#endif - /* Helper macro to enable gcc's extension. */ #ifndef __GNU_EXTENSION #ifdef __GNUC__ @@ -232,6 +217,12 @@ extern "C" { #define PROBE_ALIGNMENT32(_s) TYPE_ALIGNMENT(ULONG) #endif +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C extern +#endif + /* Calling Conventions */ #if defined(_MANAGED) #define FASTCALL __stdcall @@ -243,6 +234,30 @@ extern "C" { #define NTAPI __stdcall +#ifndef STDMETHODCALLTYPE +#define STDMETHODCALLTYPE __stdcall +#define STDMETHODVCALLTYPE __cdecl +#define STDAPICALLTYPE __stdcall +#define STDAPIVCALLTYPE __cdecl +#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE +#define STDAPI_(t) EXTERN_C t STDAPICALLTYPE +#define STDMETHODIMP HRESULT STDMETHODCALLTYPE +#define STDMETHODIMP_(t) t STDMETHODCALLTYPE +#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE +#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE +#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE +#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE +#endif /* !STDMETHODCALLTYPE */ + +#define STDOVERRIDEMETHODIMP __override STDMETHODIMP +#define STDOVERRIDEMETHODIMP_(t) __override STDMETHODIMP_(t) +#define IFACEMETHODIMP __override STDMETHODIMP +#define IFACEMETHODIMP_(t) __override STDMETHODIMP_(t) +#define STDOVERRIDEMETHODIMPV __override STDMETHODIMPV +#define STDOVERRIDEMETHODIMPV_(t) __override STDMETHODIMPV_(t) +#define IFACEMETHODIMPV __override STDMETHODIMPV +#define IFACEMETHODIMPV_(t) __override STDMETHODIMPV_(t) + /* Import and Export Specifiers */ From 958cc230888f74577ae15b861c699729d18fc51a Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sun, 1 Jun 2014 22:32:24 +0000 Subject: [PATCH 027/120] =?UTF-8?q?[User32]=20-=20Fix=20recursive=20loops?= =?UTF-8?q?=20during=20Alt+Esc=20and=20Tab.=20Dedicated=20to=20Herm=C3=A8s?= =?UTF-8?q?=20B=C3=A9lusca-Ma=C3=AFto.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/trunk/; revision=63531 --- .../win32ss/user/user32/controls/appswitch.c | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/reactos/win32ss/user/user32/controls/appswitch.c b/reactos/win32ss/user/user32/controls/appswitch.c index 4b2800b0a0d..5e1f7ce1f4d 100644 --- a/reactos/win32ss/user/user32/controls/appswitch.c +++ b/reactos/win32ss/user/user32/controls/appswitch.c @@ -17,7 +17,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(user32); #define MAX_WINDOWS 120 // Global variables -HWND switchdialog; +HWND switchdialog = NULL; HFONT dialogFont; int selectedWindow = 0; BOOL isOpen = FALSE; @@ -334,19 +334,26 @@ void ProcessHotKey() LRESULT WINAPI DoAppSwitch( WPARAM wParam, LPARAM lParam ) { - HWND hwnd; + HWND hwnd, hwndActive; MSG msg; BOOL Esc = FALSE; INT Count = 0; WCHAR Text[1024]; - switchdialog = NULL; + // Already in the loop. + if (switchdialog) return 0; + + hwndActive = GetActiveWindow(); + // Nothing is active so exit. + if (!hwndActive) return 0; + // Capture current active window. + SetCapture( hwndActive ); switch (lParam) { case VK_TAB: - if( !CreateSwitcherWindow(User32Instance) ) return 0; - if( !GetDialogFont() ) return 0; + if( !CreateSwitcherWindow(User32Instance) ) goto Exit; + if( !GetDialogFont() ) goto Exit; ProcessHotKey(); break; @@ -354,7 +361,7 @@ LRESULT WINAPI DoAppSwitch( WPARAM wParam, LPARAM lParam ) windowCount = 0; Count = 0; EnumWindowsZOrder(EnumerateCallback, 0); - if (windowCount < 2) return 0; + if (windowCount < 2) goto Exit; if (wParam == SC_NEXTWINDOW) Count = 1; else @@ -373,7 +380,7 @@ LRESULT WINAPI DoAppSwitch( WPARAM wParam, LPARAM lParam ) break; default: - return 0; + goto Exit; } // Main message loop: while (1) @@ -471,6 +478,7 @@ LRESULT WINAPI DoAppSwitch( WPARAM wParam, LPARAM lParam ) } } Exit: + ReleaseCapture(); if (switchdialog) DestroyWindow(switchdialog); switchdialog = NULL; selectedWindow = 0; From ec72c98352d1f09782e3d6ea69b453851b6f6643 Mon Sep 17 00:00:00 2001 From: Kamil Hornicek Date: Mon, 2 Jun 2014 10:41:52 +0000 Subject: [PATCH 028/120] [KBDCZ][KBDCZ1] - add support for VK_OEM_102 and Shift+AltGr combinations in kbdcz1 - fix left arrow in kbdcz - reduce diff between the layouts - misc cleanup - Patch by Radek Liska CORE-8283 svn path=/trunk/; revision=63532 --- reactos/dll/keyboard/kbdcz/kbdcz.c | 117 ++++++++------- reactos/dll/keyboard/kbdcz1/kbdcz1.c | 210 +++++++++++++++------------ 2 files changed, 178 insertions(+), 149 deletions(-) diff --git a/reactos/dll/keyboard/kbdcz/kbdcz.c b/reactos/dll/keyboard/kbdcz/kbdcz.c index 8675452dcc9..b05d4f72776 100644 --- a/reactos/dll/keyboard/kbdcz/kbdcz.c +++ b/reactos/dll/keyboard/kbdcz/kbdcz.c @@ -78,7 +78,7 @@ ROSDATA USHORT scancode_to_vk[] = { VK_SNAPSHOT, /* - 55 - */ /* Oddities, and the remaining standard F-Keys */ - VK_EMPTY, VK_OEM_102, VK_F11, VK_F12, + VK_EMPTY, VK_OEM_102, VK_F11, VK_F12, /* - 59 - */ VK_CLEAR, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* EREOF */ VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* ZOOM */ @@ -159,20 +159,45 @@ ROSDATA VK_TO_BIT modifier_keys[] = { ROSDATA MODIFIERS modifier_bits = { modifier_keys, - 7, - { 0, 1, 2, 0, 0, 0, 3, 0 } - /* Modifier bit order: NONE, SHIFT, CTRL, SHIFT-CTRL, ALT (not used), SHIFT-ALT (not used), CTRL-ALT, SHIFT-CTRL-ALT */ + 7, /* Modifier bit order */ + { + 0, /* NONE */ + 1, /* SHIFT */ + 2, /* CTRL */ + 0, /* SHIFT-CTRL (not used) */ + 0, /* ALT (not used) */ + 0, /* SHIFT-ALT (not used) */ + 3, /* CTRL-ALT */ + 0, /* SHIFT-CTRL-ALT (not used) */ + } +}; +/* ^ This table shows which column in any VK_TO_WCHARS* structure will be used on which modifier */ + +ROSDATA VK_TO_WCHARS1 keypad_numbers[] = { + { VK_NUMPAD0, 0, {'0'} }, + { VK_NUMPAD1, 0, {'1'} }, + { VK_NUMPAD2, 0, {'2'} }, + { VK_NUMPAD3, 0, {'3'} }, + { VK_NUMPAD4, 0, {'4'} }, + { VK_NUMPAD5, 0, {'5'} }, + { VK_NUMPAD6, 0, {'6'} }, + { VK_NUMPAD7, 0, {'7'} }, + { VK_NUMPAD8, 0, {'8'} }, + { VK_NUMPAD9, 0, {'9'} }, + { VK_DECIMAL, 0, {','} }, + { VK_BACK, 0, {'\010'} }, + { 0, 0 } }; ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = { /* Keys that do not have shift states */ - { VK_TAB, 0, {'\t', '\t' } }, - { VK_ADD, 0, {'+', '+' } }, - { VK_SUBTRACT, 0, {'-', '-' } }, - { VK_MULTIPLY, 0, {'*', '*' } }, - { VK_DIVIDE, 0, {'/', '/' } }, - { VK_ESCAPE, 0, {0x1b, 0x1b} }, - { VK_SPACE, 0, {' ', ' ' } }, + { VK_TAB, 0, { '\t', '\t' } }, + { VK_ADD, 0, { '+', '+' } }, + { VK_SUBTRACT, 0, { '-', '-' } }, + { VK_MULTIPLY, 0, { '*', '*' } }, + { VK_DIVIDE, 0, { '/', '/' } }, + { VK_ESCAPE, 0, { 0x1b, 0x1b } }, + { VK_SPACE, 0, { ' ', ' ' } }, { 0, 0 } }; @@ -207,7 +232,7 @@ ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = { { VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x00b4 } }, // 9 dead letter { '0', 0, { 0x00e9, '0', WCH_NONE, WCH_DEAD } }, // e with acute { VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x02dd } }, // 0 dead letter - + /* The misc */ { VK_OEM_MINUS, 0, { '=', '%', WCH_NONE, WCH_DEAD } }, // diaeresis { VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x00a8 } }, // VK_OEM_MINUS dead letter @@ -224,61 +249,45 @@ ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = { { VK_OEM_COMMA, 0, { ',', '?', WCH_NONE, '<' } }, { VK_OEM_PERIOD, 0, { '.', ':', WCH_NONE, '>' } }, { VK_OEM_2, 0, { '-', '_', WCH_NONE, '*' } }, - + /* The alphabet */ { 'A', CAPLOK, {'a', 'A', 0x01, WCH_NONE } }, - { 'B', CAPLOK, {'b', 'B', 0x02, '{' } }, - { 'C', CAPLOK, {'c', 'C', 0x03, '&' } }, - { 'D', CAPLOK, {'d', 'D', 0x04, 0x0110 } }, - { 'E', CAPLOK, {'e', 'E', 0x05, 0x20AC } }, - { 'F', CAPLOK, {'f', 'F', 0x06, '[' } }, - { 'G', CAPLOK, {'g', 'G', 0x07, ']' } }, + { 'B', CAPLOK, {'b', 'B', 0x02, '{' } }, + { 'C', CAPLOK, {'c', 'C', 0x03, '&' } }, + { 'D', CAPLOK, {'d', 'D', 0x04, 0x0110 } }, + { 'E', CAPLOK, {'e', 'E', 0x05, 0x20AC } }, + { 'F', CAPLOK, {'f', 'F', 0x06, '[' } }, + { 'G', CAPLOK, {'g', 'G', 0x07, ']' } }, { 'H', CAPLOK, {'h', 'H', 0x08, WCH_NONE } }, { 'I', CAPLOK, {'i', 'I', 0x09, WCH_NONE } }, { 'J', CAPLOK, {'j', 'J', 0x0a, WCH_NONE } }, - { 'K', CAPLOK, {'k', 'K', 0x0b, 0x0142 } }, - { 'L', CAPLOK, {'l', 'L', 0x0c, 0x0141 } }, + { 'K', CAPLOK, {'k', 'K', 0x0b, 0x0142 } }, + { 'L', CAPLOK, {'l', 'L', 0x0c, 0x0141 } }, { 'M', CAPLOK, {'m', 'M', 0x0d, WCH_NONE } }, - { 'N', CAPLOK, {'n', 'N', 0x0e, '}' } }, + { 'N', CAPLOK, {'n', 'N', 0x0e, '}' } }, { 'O', CAPLOK, {'o', 'O', 0x0f, WCH_NONE } }, { 'P', CAPLOK, {'p', 'P', 0x10, WCH_NONE } }, - { 'Q', CAPLOK, {'q', 'Q', 0x11, '\\' } }, + { 'Q', CAPLOK, {'q', 'Q', 0x11, '\\' } }, { 'R', CAPLOK, {'r', 'R', 0x12, WCH_NONE } }, - { 'S', CAPLOK, {'s', 'S', 0x13, WCH_NONE } }, + { 'S', CAPLOK, {'s', 'S', 0x13, 0x0111 } }, { 'T', CAPLOK, {'t', 'T', 0x14, WCH_NONE } }, { 'U', CAPLOK, {'u', 'U', 0x15, WCH_NONE } }, - { 'V', CAPLOK, {'v', 'V', 0x16, '@' } }, - { 'W', CAPLOK, {'w', 'W', 0x17, '|' } }, - { 'X', CAPLOK, {'x', 'X', 0x18, '#' } }, + { 'V', CAPLOK, {'v', 'V', 0x16, '@' } }, + { 'W', CAPLOK, {'w', 'W', 0x17, '|' } }, + { 'X', CAPLOK, {'x', 'X', 0x18, '#' } }, { 'Y', CAPLOK, {'y', 'Y', 0x19, WCH_NONE } }, { 'Z', CAPLOK, {'z', 'Z', 0x1a, WCH_NONE } }, { 0, 0 } }; -ROSDATA VK_TO_WCHARS1 keypad_numbers[] = { - { VK_NUMPAD0, 0, {'0'} }, - { VK_NUMPAD1, 0, {'1'} }, - { VK_NUMPAD2, 0, {'2'} }, - { VK_NUMPAD3, 0, {'3'} }, - { VK_NUMPAD4, 0, {'4'} }, - { VK_NUMPAD5, 0, {'5'} }, - { VK_NUMPAD6, 0, {'6'} }, - { VK_NUMPAD7, 0, {'7'} }, - { VK_NUMPAD8, 0, {'8'} }, - { VK_NUMPAD9, 0, {'9'} }, - { VK_DECIMAL, 0, {','} }, - { VK_BACK, 0, {'\010'} }, - { 0, 0 } -}; - -#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) } +#define vk_master(n, x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) } ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[] = { - vk_master(1,keypad_numbers), - vk_master(2,key_to_chars_2mod), - vk_master(3,key_to_chars_3mod), - vk_master(4,key_to_chars_4mod), - { 0,0,0 } + vk_master(1, keypad_numbers), + vk_master(2, key_to_chars_2mod), + vk_master(3, key_to_chars_3mod), + vk_master(4, key_to_chars_4mod), + { 0, 0, 0 } }; ROSDATA VSC_LPWSTR key_names[] = { @@ -348,7 +357,9 @@ ROSDATA VSC_LPWSTR extended_key_names[] = { { 0x47, L"Home" }, { 0x48, L"Up" }, { 0x49, L"Page Up" }, - { 0x4a, L"Left" }, + /* { 0x4a, L"Left" },*/ + { 0x4a, L"-" }, + { 0x4b, L"Left" }, { 0x4c, L"Center" }, { 0x4d, L"Right" }, { 0x4f, L"End" }, @@ -423,9 +434,9 @@ ROSDATA DEADKEY dead_key[] = { }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { - L"\x00a1" L"hacek", // caron - L"\x00b4" L"carka", // acute - L"\x005e" L"krouzek", // ring + L"\x00a1" L"hacek", // caron + L"\x00b4" L"carka", // acute + L"\x005e" L"krouzek", // ring NULL }; diff --git a/reactos/dll/keyboard/kbdcz1/kbdcz1.c b/reactos/dll/keyboard/kbdcz1/kbdcz1.c index e4b6e923af2..e71f2f9fcad 100644 --- a/reactos/dll/keyboard/kbdcz1/kbdcz1.c +++ b/reactos/dll/keyboard/kbdcz1/kbdcz1.c @@ -78,7 +78,7 @@ ROSDATA USHORT scancode_to_vk[] = { VK_SNAPSHOT, /* - 55 - */ /* Oddities, and the remaining standard F-Keys */ - VK_EMPTY, VK_EMPTY, VK_F11, VK_F12, + VK_EMPTY, VK_OEM_102, VK_F11, VK_F12, /* - 59 - */ VK_CLEAR, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* EREOF */ VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* ZOOM */ @@ -159,89 +159,21 @@ ROSDATA VK_TO_BIT modifier_keys[] = { ROSDATA MODIFIERS modifier_bits = { modifier_keys, - 7, - { 0, 1, 2, 0, 0, 0, 3, 0 } - /* Modifier bit order: NONE, SHIFT, CTRL, SHIFT-CTRL, ALT (not used), SHIFT-ALT (not used), CTRL-ALT, SHIFT-CTRL-ALT */ -}; - -ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = { - /* Keys that do not have shift states */ - { VK_TAB, 0, {'\t','\t'} }, - { VK_ADD, 0, {'+', '+'} }, - { VK_SUBTRACT, 0, {'-', '-'} }, - { VK_MULTIPLY, 0, {'*', '*'} }, - { VK_DIVIDE, 0, {'/', '/'} }, - { VK_OEM_2 ,0, {'-', '_'} }, - { VK_ESCAPE, 0, {0x1b,0x1b} }, - { VK_SPACE, 0, {' ', ' '} }, - { 0, 0 } -}; - -ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[] = { - /* normal - shift - ctrl */ - /* The alphabet */ - { 'A', CAPLOK, {'a', 'A', 0x01} }, - { 'B', CAPLOK, {'b', 'B', 0x02} }, - { 'C', CAPLOK, {'c', 'C', 0x03} }, - { 'D', CAPLOK, {'d', 'D', 0x04} }, - { 'F', CAPLOK, {'f', 'F', 0x06} }, - { 'G', CAPLOK, {'g', 'G', 0x07} }, - { 'H', CAPLOK, {'h', 'H', 0x08} }, - { 'I', CAPLOK, {'i', 'I', 0x09} }, - { 'J', CAPLOK, {'j', 'J', 0x0a} }, - { 'K', CAPLOK, {'k', 'K', 0x0b} }, - { 'L', CAPLOK, {'l', 'L', 0x0c} }, - { 'M', CAPLOK, {'m', 'M', 0x0d} }, - { 'N', CAPLOK, {'n', 'N', 0x0e} }, - { 'O', CAPLOK, {'o', 'O', 0x0f} }, - { 'P', CAPLOK, {'p', 'P', 0x10} }, - { 'Q', CAPLOK, {'q', 'Q', 0x11} }, - { 'R', CAPLOK, {'r', 'R', 0x12} }, - { 'S', CAPLOK, {'s', 'S', 0x13} }, - { 'T', CAPLOK, {'t', 'T', 0x14} }, - { 'U', CAPLOK, {'u', 'U', 0x15} }, - { 'V', CAPLOK, {'v', 'V', 0x16} }, - { 'W', CAPLOK, {'w', 'W', 0x17} }, - { 'X', CAPLOK, {'x', 'X', 0x18} }, - { 'Y', CAPLOK, {'y', 'Y', 0x19} }, - { 'Z', CAPLOK, {'z', 'Z', 0x1a} }, - - /* Legacy (telnet-style) ascii escapes */ - { VK_RETURN, 0, {'\r', '\r', '\n'} }, - { 0,0 } -}; - -ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = { -/* Normal, shifted, control, Alt+Gr */ - { '1', 0, {'+', '1', WCH_NONE, '!' } }, - { '2', 0, {0x011b, '2', 0, '@' } }, // e with caron - { '3', 0, {0x0161, '3', WCH_NONE, '#' } }, // s with caron - { '4', 0, {0x010d, '4', WCH_NONE, '$' } }, // c with caron - { '5', 0, {0x0159, '5', WCH_NONE, '%' } }, // r with caron - { '6', 0, {0x017e, '6', 0x1e, '^' } }, // z with caron - { '7', 0, {0x00fd, '7', WCH_NONE, '&' } }, // y with acute - { '8', 0, {0x00e1, '8', WCH_NONE, '*' } }, // a with acute - { '9', 0, {0x00ed, '9', WCH_NONE, '(' } }, // i with acute - { '0', 0, {0x00e9, '0', WCH_NONE, ')' } }, // e with acute - { VK_OEM_PLUS, 0, {WCH_DEAD, WCH_DEAD, WCH_NONE, '=' } }, // dead letters - acute, caron - { VK_EMPTY, 0, {0x00b4, 0x02c7, WCH_NONE, WCH_NONE } }, // VK_OEM_PLUS death - { VK_OEM_MINUS, 0, {'=', '%', 0x1f, '-' } }, - { VK_OEM_1, 0, {0x016f, '\"', WCH_NONE, ';' } }, // u with ring - { VK_OEM_7, 0, {0x00a7, '!', WCH_NONE, 0x00a4 } }, // section sign - { VK_OEM_4, 0, {0x00fa, '/', WCH_NONE, '[' } }, // u with acute - { VK_OEM_5, 0, {WCH_DEAD, 0x2018, WCH_NONE, '\\' } }, // diaeresis, left single quotation mark - { VK_EMPTY, 0, {0x00a8, WCH_NONE, WCH_NONE, WCH_NONE } }, // VK_OEM_5 death - { VK_OEM_6, 0, {')', '(', WCH_NONE, ']' } }, - { VK_OEM_3, 0, {';', WCH_DEAD, WCH_NONE, '`' } }, // ring - { VK_EMPTY, 0, {WCH_NONE, 0x00b0, WCH_NONE, WCH_NONE } }, // VK_OEM_3 death - { VK_OEM_COMMA, 0, {',', '?', WCH_NONE, '<' } }, - { VK_OEM_PERIOD, 0, {'.', ':', WCH_NONE, '>' } }, - { 'E', CAPLOK, {'e', 'E', 0x05, 0x20AC } }, // symbol for euro (currency) - { 0, 0 } + 7, /* Modifier bit order */ + { + 0, /* NONE */ + 1, /* SHIFT */ + 2, /* CTRL */ + 0, /* SHIFT-CTRL (not used) */ + 0, /* ALT (not used) */ + 0, /* SHIFT-ALT (not used) */ + 3, /* CTRL-ALT */ + 4, /* SHIFT-CTRL-ALT */ + } }; +/* ^ This table shows which column in any VK_TO_WCHARS* structure will be used on which modifier */ ROSDATA VK_TO_WCHARS1 keypad_numbers[] = { - { VK_DECIMAL, 0, {','} }, { VK_NUMPAD0, 0, {'0'} }, { VK_NUMPAD1, 0, {'1'} }, { VK_NUMPAD2, 0, {'2'} }, @@ -252,18 +184,103 @@ ROSDATA VK_TO_WCHARS1 keypad_numbers[] = { { VK_NUMPAD7, 0, {'7'} }, { VK_NUMPAD8, 0, {'8'} }, { VK_NUMPAD9, 0, {'9'} }, + { VK_DECIMAL, 0, {','} }, { VK_BACK, 0, {'\010'} }, { 0, 0 } }; -#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) } +ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = { + /* Keys that do not have shift states */ + { VK_TAB, 0, { '\t', '\t' } }, + { VK_ADD, 0, { '+', '+' } }, + { VK_SUBTRACT, 0, { '-', '-' } }, + { VK_MULTIPLY, 0, { '*', '*' } }, + { VK_DIVIDE, 0, { '/', '/' } }, + { VK_ESCAPE, 0, { 0x1b, 0x1b } }, + { VK_SPACE, 0, { ' ', ' ' } }, + { 0, 0 } +}; + +ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[] = { + /* normal - shift - ctrl */ + + /* Legacy (telnet-style) ascii escapes */ + { VK_RETURN, 0, {'\r', '\r', '\n' } }, + { 0,0 } +}; + +ROSDATA VK_TO_WCHARS5 key_to_chars_5mod[] = { +/* Normal, shifted, control, Alt+Gr, Sh+Alt+Gr */ + + /* The numbers */ + { '1', 0, { '+', '1', WCH_NONE, '!', WCH_NONE } }, + { '2', 0, { 0x011b, '2', 0, '@', WCH_NONE } }, // e with caron + { '3', 0, { 0x0161, '3', WCH_NONE, '#', WCH_NONE } }, // s with caron + { '4', 0, { 0x010d, '4', WCH_NONE, '$', WCH_NONE } }, // c with caron + { '5', 0, { 0x0159, '5', WCH_NONE, '%', WCH_NONE } }, // r with caron + { '6', 0, { 0x017e, '6', 0x1e, '^', WCH_NONE } }, // z with caron + { '7', 0, { 0x00fd, '7', WCH_NONE, '&', WCH_NONE } }, // y with acute + { '8', 0, { 0x00e1, '8', WCH_NONE, '*', WCH_NONE } }, // a with acute + { '9', 0, { 0x00ed, '9', WCH_NONE, '(', WCH_NONE } }, // i with acute + { '0', 0, { 0x00e9, '0', WCH_NONE, ')', WCH_NONE } }, // e with acute + + /* The misc */ + { VK_OEM_PLUS, 0, { WCH_DEAD, WCH_DEAD, WCH_NONE, '=', '+' } }, // dead letters - acute, caron + { VK_EMPTY, 0, { 0x00b4, 0x02c7, WCH_NONE, WCH_NONE, WCH_NONE } }, // VK_OEM_PLUS dead letter + { VK_OEM_MINUS, 0, { '=', '%', 0x1f, '-', '_' } }, + { VK_OEM_1, 0, { 0x016f, '\"', WCH_NONE, ';', ':' } }, // u with ring + { VK_OEM_7, 0, { 0x00a7, '!', WCH_NONE, 0x00a4, WCH_DEAD } }, // section sign, currency sign + { VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, WCH_NONE, '^' } }, // VK_OEM_7 dead letter + { VK_OEM_4, 0, { 0x00fa, '/', WCH_NONE, '[', '{' } }, // u with acute + { VK_OEM_5, 0, { WCH_DEAD, 0x2018, WCH_NONE, '\\', '|' } }, // diaeresis, left single quotation mark + { VK_EMPTY, 0, { 0x00a8, WCH_NONE, WCH_NONE, WCH_NONE, WCH_NONE } }, // VK_OEM_5 dead letter + { VK_OEM_6, 0, { ')', '(', WCH_NONE, ']', '}' } }, + { VK_OEM_3, 0, { ';', WCH_DEAD, WCH_NONE, '`', '~' } }, // ring + { VK_EMPTY, 0, { WCH_NONE, 0x00b0, WCH_NONE, WCH_NONE, WCH_NONE } }, // VK_OEM_3 dead letter + { VK_OEM_COMMA, 0, { ',', '?', WCH_NONE, '<', 0x00d7 } }, // multiplication sign + { VK_OEM_PERIOD, 0, { '.', ':', WCH_NONE, '>', 0x00f7 } }, // division sign + { VK_OEM_2, 0, { '-', '_', WCH_NONE, '/', '?' } }, + { VK_OEM_102, 0, { '\\', '|', 0x1c/*FS*/, 0x00df, WCH_DEAD } }, // sharp s, double acute accent + { VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, WCH_NONE, 0x02dd } }, // VK_OEM_102 dead letter + + /* The alphabet */ + { 'A', CAPLOK, { 'a', 'A', 0x01, WCH_NONE, WCH_NONE } }, + { 'B', CAPLOK, { 'b', 'B', 0x02, WCH_NONE, WCH_NONE } }, + { 'C', CAPLOK, { 'c', 'C', 0x03, WCH_NONE, WCH_NONE } }, + { 'D', CAPLOK, { 'd', 'D', 0x04, WCH_NONE, WCH_NONE } }, + { 'E', CAPLOK, { 'e', 'E', 0x05, 0x20AC, WCH_NONE } }, // symbol for euro (currency) + { 'F', CAPLOK, { 'f', 'F', 0x06, WCH_NONE, WCH_NONE } }, + { 'G', CAPLOK, { 'g', 'G', 0x07, WCH_NONE, WCH_NONE } }, + { 'H', CAPLOK, { 'h', 'H', 0x08, WCH_NONE, WCH_NONE } }, + { 'I', CAPLOK, { 'i', 'I', 0x09, WCH_NONE, WCH_NONE } }, + { 'J', CAPLOK, { 'j', 'J', 0x0a, WCH_NONE, WCH_NONE } }, + { 'K', CAPLOK, { 'k', 'K', 0x0b, WCH_NONE, WCH_NONE } }, + { 'L', CAPLOK, { 'l', 'L', 0x0c, WCH_NONE, WCH_NONE } }, + { 'M', CAPLOK, { 'm', 'M', 0x0d, WCH_NONE, WCH_NONE } }, + { 'N', CAPLOK, { 'n', 'N', 0x0e, WCH_NONE, WCH_NONE } }, + { 'O', CAPLOK, { 'o', 'O', 0x0f, WCH_NONE, WCH_NONE } }, + { 'P', CAPLOK, { 'p', 'P', 0x10, WCH_NONE, WCH_NONE } }, + { 'Q', CAPLOK, { 'q', 'Q', 0x11, WCH_NONE, WCH_NONE } }, + { 'R', CAPLOK, { 'r', 'R', 0x12, WCH_NONE, WCH_NONE } }, + { 'S', CAPLOK, { 's', 'S', 0x13, WCH_NONE, WCH_NONE } }, + { 'T', CAPLOK, { 't', 'T', 0x14, WCH_NONE, WCH_NONE } }, + { 'U', CAPLOK, { 'u', 'U', 0x15, WCH_NONE, WCH_NONE } }, + { 'V', CAPLOK, { 'v', 'V', 0x16, WCH_NONE, WCH_NONE } }, + { 'W', CAPLOK, { 'w', 'W', 0x17, WCH_NONE, WCH_NONE } }, + { 'X', CAPLOK, { 'x', 'X', 0x18, WCH_NONE, WCH_NONE } }, + { 'Y', CAPLOK, { 'y', 'Y', 0x19, WCH_NONE, WCH_NONE } }, + { 'Z', CAPLOK, { 'z', 'Z', 0x1a, WCH_NONE, WCH_NONE } }, + { 0, 0 } +}; + +#define vk_master(n, x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) } ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[] = { - vk_master(1,keypad_numbers), - vk_master(2,key_to_chars_2mod), - vk_master(3,key_to_chars_3mod), - vk_master(4,key_to_chars_4mod), - { 0,0,0 } + vk_master(1, keypad_numbers), + vk_master(2, key_to_chars_2mod), + vk_master(3, key_to_chars_3mod), + vk_master(5, key_to_chars_5mod), + { 0, 0, 0 } }; ROSDATA VSC_LPWSTR key_names[] = { @@ -333,7 +350,9 @@ ROSDATA VSC_LPWSTR extended_key_names[] = { { 0x47, L"Home" }, { 0x48, L"Up" }, { 0x49, L"Page Up" }, - { 0x4a, L"Left" }, + /* { 0x4a, L"Left" },*/ + { 0x4a, L"-" }, + { 0x4b, L"Left" }, { 0x4c, L"Center" }, { 0x4d, L"Right" }, { 0x4f, L"End" }, @@ -401,16 +420,16 @@ ROSDATA DEADKEY dead_key[] = { { DEADTRANS(0x0075, 0x00a8, 0x00fc, 0x0000) }, // u with diaeresis { DEADTRANS(0x0020, 0x00a8, 0x00a8, 0x0000) }, // space > diaeresis - { DEADTRANS(0x0055, 0x00b0, 0x016e, 0x0000) }, // U with round - { DEADTRANS(0x0075, 0x00b0, 0x016f, 0x0000) }, // u with round - { DEADTRANS(0x0020, 0x00b0, 0x00b0, 0x0000) }, // space > round + { DEADTRANS(0x0055, 0x00b0, 0x016e, 0x0000) }, // U with ring + { DEADTRANS(0x0075, 0x00b0, 0x016f, 0x0000) }, // u with ring + { DEADTRANS(0x0020, 0x00b0, 0x00b0, 0x0000) }, // space > ring { 0, 0, 0 }, }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { - L"\x00a1" L"hacek", // caron - L"\x00b4" L"carka", // acute - L"\x005e" L"krouzek", // round + L"\x00a1" L"hacek", // caron + L"\x00b4" L"carka", // acute + L"\x005e" L"krouzek", // ring NULL }; @@ -422,7 +441,7 @@ ROSDATA KBDTABLES keyboard_layout_table = { /* character from vk tables */ vk_to_wchar_master_table, - /* diacritical marks -- */ + /* diacritical marks */ dead_key, /* Key names */ @@ -447,4 +466,3 @@ ROSDATA KBDTABLES keyboard_layout_table = { PKBDTABLES WINAPI KbdLayerDescriptor(VOID) { return &keyboard_layout_table; } - From a579b9e6b6e674860fce454bf169d4f9cd199894 Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Mon, 2 Jun 2014 18:24:58 +0000 Subject: [PATCH 029/120] [NTVDM] Initialize the VGA-related BDA data fields. svn path=/trunk/; revision=63534 --- reactos/subsystems/ntvdm/bios/bios.h | 3 ++- reactos/subsystems/ntvdm/bios/vidbios.c | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/reactos/subsystems/ntvdm/bios/bios.h b/reactos/subsystems/ntvdm/bios/bios.h index 9b47f163a0d..21eee31eea9 100644 --- a/reactos/subsystems/ntvdm/bios/bios.h +++ b/reactos/subsystems/ntvdm/bios/bios.h @@ -76,7 +76,8 @@ typedef struct WORD KeybdBufferEnd; // 0x82 BYTE ScreenRows; // 0x84 WORD CharacterHeight; // 0x85 - BYTE EGAFlags[2]; // 0x87 + BYTE VGAOptions; // 0x87 + BYTE VGASwitches; // 0x88 BYTE VGAFlags[2]; // 0x89 DWORD Reserved3; // 0x8b BYTE Reserved4; // 0x8f diff --git a/reactos/subsystems/ntvdm/bios/vidbios.c b/reactos/subsystems/ntvdm/bios/vidbios.c index c5d94e061c2..8f50d32f97e 100644 --- a/reactos/subsystems/ntvdm/bios/vidbios.c +++ b/reactos/subsystems/ntvdm/bios/vidbios.c @@ -1572,6 +1572,10 @@ BOOLEAN VidBiosInitialize(VOID) ((PULONG)BaseAddress)[0x43] = (ULONG)NULL; ((PULONG)BaseAddress)[0x44] = (ULONG)NULL; + /* Initialize the VGA BDA data */ + Bda->VGAOptions = 0x30; /* 256 KB Video RAM */ + Bda->VGASwitches = 0x09; /* High-resolution */ + // // FIXME: At the moment we always set a VGA mode. In the future, // we should set this mode **only** when: From 36d73c2c626869ad9bfc6aa972739b0e17f0436d Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Tue, 3 Jun 2014 22:34:49 +0000 Subject: [PATCH 030/120] [NTVDM] Fix the command line NULL-termination. svn path=/trunk/; revision=63538 --- reactos/subsystems/ntvdm/dos/dos32krnl/dos.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reactos/subsystems/ntvdm/dos/dos32krnl/dos.c b/reactos/subsystems/ntvdm/dos/dos32krnl/dos.c index b4c565f9f1a..a9aa39d6e52 100644 --- a/reactos/subsystems/ntvdm/dos/dos32krnl/dos.c +++ b/reactos/subsystems/ntvdm/dos/dos32krnl/dos.c @@ -915,6 +915,7 @@ DWORD DosLoadExecutable(IN DOS_EXEC_TYPE LoadType, PIMAGE_DOS_HEADER Header; PDWORD RelocationTable; PWORD RelocWord; + LPSTR CmdLinePtr = (LPSTR)CommandLine; DPRINT1("DosLoadExecutable(%d, %s, %s, %s, 0x%08X, 0x%08X)\n", LoadType, @@ -931,8 +932,8 @@ DWORD DosLoadExecutable(IN DOS_EXEC_TYPE LoadType, } /* NULL-terminate the command line by removing the return carriage character */ - while (*CommandLine && *CommandLine != '\r') CommandLine++; - *(LPSTR)CommandLine = '\0'; + while (*CmdLinePtr && *CmdLinePtr != '\r') CmdLinePtr++; + *CmdLinePtr = '\0'; /* Open a handle to the executable */ FileHandle = CreateFileA(ExecutablePath, From 5ed72773b902affd01b2d48451f903d8776f4ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 4 Jun 2014 17:12:09 +0000 Subject: [PATCH 031/120] [NTOS/PS] - ULONG --> ULONG_PTR svn path=/trunk/; revision=63540 --- reactos/ntoskrnl/ps/query.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/ps/query.c b/reactos/ntoskrnl/ps/query.c index 4cc554f19cc..b3701915096 100644 --- a/reactos/ntoskrnl/ps/query.c +++ b/reactos/ntoskrnl/ps/query.c @@ -151,7 +151,7 @@ NtQueryInformationProcess(IN HANDLE ProcessHandle, ProcessBasicInfo->UniqueProcessId = (ULONG_PTR)Process-> UniqueProcessId; ProcessBasicInfo->InheritedFromUniqueProcessId = - (ULONG)Process->InheritedFromUniqueProcessId; + (ULONG_PTR)Process->InheritedFromUniqueProcessId; ProcessBasicInfo->BasePriority = Process->Pcb.BasePriority; } From 40d538d6b1a552439b285c4bdb83fbedeb772ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Thu, 5 Jun 2014 19:38:44 +0000 Subject: [PATCH 032/120] [RAPPS][USETUP][SYSDM] "Licence" --> "License" in USA english. Patch by middings contributor. CORE-8288 #resolve #comment Thanks :) svn path=/trunk/; revision=63542 --- reactos/base/applications/rapps/lang/en-US.rc | 2 +- reactos/base/setup/usetup/lang/en-US.h | 2 +- reactos/dll/cpl/sysdm/lang/en-US.rc | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/base/applications/rapps/lang/en-US.rc b/reactos/base/applications/rapps/lang/en-US.rc index 55f375bbb7b..3333836ed8c 100644 --- a/reactos/base/applications/rapps/lang/en-US.rc +++ b/reactos/base/applications/rapps/lang/en-US.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nDescription: " IDS_AINFO_SIZE "\nSize: " IDS_AINFO_URLSITE "\nHome Page: " - IDS_AINFO_LICENCE "\nLicence: " + IDS_AINFO_LICENCE "\nLicense: " END STRINGTABLE diff --git a/reactos/base/setup/usetup/lang/en-US.h b/reactos/base/setup/usetup/lang/en-US.h index 23cdcebee74..e9d907d926c 100644 --- a/reactos/base/setup/usetup/lang/en-US.h +++ b/reactos/base/setup/usetup/lang/en-US.h @@ -117,7 +117,7 @@ static MUI_ENTRY enUSWelcomePageEntries[] = { 0, 0, - "ENTER = Continue R = Repair L = Licence F3 = Quit", + "ENTER = Continue R = Repair L = License F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { diff --git a/reactos/dll/cpl/sysdm/lang/en-US.rc b/reactos/dll/cpl/sysdm/lang/en-US.rc index 4a5f28edf78..d42b16e3eb1 100644 --- a/reactos/dll/cpl/sysdm/lang/en-US.rc +++ b/reactos/dll/cpl/sysdm/lang/en-US.rc @@ -18,7 +18,7 @@ BEGIN LTEXT "", IDC_MACHINELINE4, 130, 171, 118, 9 LTEXT "", IDC_MACHINELINE5, 130, 180, 118, 9 CONTROL "Visit the ReactOS Homepage", IDC_ROSHOMEPAGE_LINK, "SysLink", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 20, 200, 140, 10 - PUSHBUTTON "View &licence...", IDC_LICENCE, 170, 199, 78, 13 + PUSHBUTTON "View &license...", IDC_LICENCE, 170, 199, 78, 13 END IDD_PROPPAGEHARDWARE DIALOGEX 0, 0, 256, 218 @@ -243,7 +243,7 @@ BEGIN END IDD_LICENCE DIALOGEX 6, 5, 267, 159 -CAPTION "Licence" +CAPTION "License" FONT 8, "MS Shell Dlg", 0, 0, 0x0 STYLE DS_SHELLFONT | WS_BORDER | WS_THICKFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU BEGIN From 3f570d5173b4b7369026314f9aa1994d7b283102 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Fri, 6 Jun 2014 13:49:47 +0000 Subject: [PATCH 033/120] [NEWDEV] * Fix a nasty stack corruption that was caused by a mismatching prototype. * Brought to you by MSVC Run-Time Error Checks (/RTC1) * Fixed by Christoph von Wittich. svn path=/trunk/; revision=63543 --- reactos/dll/win32/newdev/newdev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/newdev/newdev.c b/reactos/dll/win32/newdev/newdev.c index 72f5bccaac8..16891769fb9 100644 --- a/reactos/dll/win32/newdev/newdev.c +++ b/reactos/dll/win32/newdev/newdev.c @@ -810,8 +810,9 @@ cleanup: BOOL WINAPI ClientSideInstallW( IN HWND hWndOwner, - IN DWORD dwUnknownFlags, - IN LPWSTR lpNamedPipeName) + IN HINSTANCE hInstance, + IN LPWSTR lpNamedPipeName, + IN INT Show) { BOOL ReturnValue = FALSE; BOOL ShowWizard; From 0c2a513314ddf5f7e909d0997763337a0da8e57f Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Fri, 6 Jun 2014 13:54:42 +0000 Subject: [PATCH 034/120] * Forgot this file. svn path=/trunk/; revision=63544 --- reactos/dll/win32/newdev/newdev.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/dll/win32/newdev/newdev.spec b/reactos/dll/win32/newdev/newdev.spec index 204f9a087b1..3dd235755b9 100644 --- a/reactos/dll/win32/newdev/newdev.spec +++ b/reactos/dll/win32/newdev/newdev.spec @@ -1,4 +1,4 @@ -@ stdcall ClientSideInstallW(ptr long wstr) +@ stdcall ClientSideInstallW(ptr ptr wstr long) @ stdcall DevInstallW(ptr ptr wstr long) @ stub InstallDevInst @ stub InstallDevInstEx From a06ec7042e001a146bc966492a701844794c5a1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Fri, 6 Jun 2014 21:05:59 +0000 Subject: [PATCH 035/120] [CONSRV] - Rename a macro to something meaningful. - Localize selection type strings. svn path=/trunk/; revision=63545 --- .../user/winsrv/consrv/frontends/gui/conwnd.c | 59 +++++++++++-------- .../winsrv/consrv/frontends/gui/lang/bg-BG.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/cs-CZ.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/de-DE.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/el-GR.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/en-US.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/es-ES.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/fr-FR.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/he-IL.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/id-ID.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/it-IT.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/ja-JP.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/no-NO.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/pl-PL.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/pt-BR.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/ro-RO.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/ru-RU.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/sk-SK.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/sv-SE.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/tr-TR.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/uk-UA.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/zh-CN.rc | 6 ++ .../winsrv/consrv/frontends/gui/lang/zh-TW.rc | 6 ++ .../winsrv/consrv/frontends/gui/resource.h | 21 +++---- .../user/winsrv/consrv/frontends/gui/text.c | 3 - 25 files changed, 178 insertions(+), 37 deletions(-) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index f660e3414fe..adbbb08c313 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -731,8 +731,8 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) if ((GuiData->Selection.dwFlags & CONSOLE_SELECTION_IN_PROGRESS) == 0) { - LPWSTR SelectionType, WindowTitle = NULL; - SIZE_T Length = 0; + LPWSTR SelTypeStr = NULL , WindowTitle = NULL; + SIZE_T SelTypeStrLength = 0, Length = 0; /* Clear the old selection */ if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY) @@ -740,21 +740,34 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) InvalidateRect(GuiData->hWindow, &oldRect, FALSE); } - if (GuiData->Selection.dwFlags & CONSOLE_MOUSE_SELECTION) - { - SelectionType = L"Selection - "; - } - else - { - SelectionType = L"Mark - "; - } + /* + * When passing a zero-length buffer size, LoadString(...) returns + * a read-only pointer buffer to the program's resource string. + */ + SelTypeStrLength = + LoadStringW(ConSrvDllInstance, + (GuiData->Selection.dwFlags & CONSOLE_MOUSE_SELECTION) + ? IDS_SELECT_TITLE : IDS_MARK_TITLE, + (LPWSTR)&SelTypeStr, 0); - Length = Console->Title.Length + wcslen(SelectionType) + 1; - WindowTitle = ConsoleAllocHeap(0, Length * sizeof(WCHAR)); - wcscpy(WindowTitle, SelectionType); - wcscat(WindowTitle, Console->Title.Buffer); - SetWindowText(GuiData->hWindow, WindowTitle); - ConsoleFreeHeap(WindowTitle); + /* + * Prepend the selection type string to the current console title + * if we succeeded in retrieving a valid localized string. + */ + if (SelTypeStr) + { + // 3 for " - " and 1 for NULL + Length = Console->Title.Length + (SelTypeStrLength + 3 + 1) * sizeof(WCHAR); + WindowTitle = ConsoleAllocHeap(0, Length); + + wcsncpy(WindowTitle, SelTypeStr, SelTypeStrLength); + WindowTitle[SelTypeStrLength] = L'\0'; + wcscat(WindowTitle, L" - "); + wcscat(WindowTitle, Console->Title.Buffer); + + SetWindowText(GuiData->hWindow, WindowTitle); + ConsoleFreeHeap(WindowTitle); + } GuiData->Selection.dwFlags |= CONSOLE_SELECTION_IN_PROGRESS; ConioPause(Console, PAUSED_FROM_SELECTION); @@ -771,6 +784,7 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; ConioUnpause(Console, PAUSED_FROM_SELECTION); + /* Restore the console title */ SetWindowText(GuiData->hWindow, Console->Title.Buffer); } } @@ -1305,10 +1319,7 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) if (GetType(Buffer) == TEXTMODE_BUFFER) { -#ifdef IS_WHITESPACE -#undef IS_WHITESPACE -#endif -#define IS_WHITESPACE(c) \ +#define IS_WORD_SEP(c) \ ((c) == L'\0' || (c) == L' ' || (c) == L'\t' || (c) == L'\r' || (c) == L'\n') PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer; @@ -1320,15 +1331,15 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) ptrL = ptrR = ConioCoordToPointer(TextBuffer, cL.X, cL.Y); /* Enlarge the selection by checking for whitespace */ - while ((0 < cL.X) && !IS_WHITESPACE(ptrL->Char.UnicodeChar) - && !IS_WHITESPACE((ptrL-1)->Char.UnicodeChar)) + while ((0 < cL.X) && !IS_WORD_SEP(ptrL->Char.UnicodeChar) + && !IS_WORD_SEP((ptrL-1)->Char.UnicodeChar)) { --cL.X; --ptrL; } while ((cR.X < TextBuffer->ScreenBufferSize.X - 1) && - !IS_WHITESPACE(ptrR->Char.UnicodeChar) && - !IS_WHITESPACE((ptrR+1)->Char.UnicodeChar)) + !IS_WORD_SEP(ptrR->Char.UnicodeChar) && + !IS_WORD_SEP((ptrR+1)->Char.UnicodeChar)) { ++cR.X; ++ptrR; diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc index fd09239166f..6f56be272fa 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc index b40524ac78d..6cf5faf594d 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc index fcac4773c35..31ee03f3cd8 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Eingabeaufforderung" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc index 696823bef64..4ed65aa232c 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc index d1d81746519..1a32b4882e7 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc index ca10531bbdb..60d1bdcbe88 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc index 7b6f76aa1c7..0dde5099530 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Marquage" + IDS_SELECT_TITLE "Sélection" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc index 513298c53cd..26e9a424118 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc index 97904b68e7f..6020733fd58 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc index 5c2e0ce20e8..e5da7b6d9c9 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc index b94590d7b1e..701e292e90b 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc index 776e90965bd..b73c535f2eb 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc index b20c766a3f7..04023569048 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc @@ -30,3 +30,9 @@ BEGIN */ IDS_TERMINAL_TITLE "Konsola ReactOS" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc index f4b90ecaaa1..c58d17576f8 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc index 46c2de95ad8..2de14516e74 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "Consola ReactOS" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc index dcdc2b30060..826cefb4d69 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc index a586c3907bc..22890783534 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc @@ -27,3 +27,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc index 35255a8dece..466ea208629 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc index aba643bdbba..9632005db14 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc index bafa79d530c..b0ecb8ee6a5 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc index 57ac95b01a8..c0d14a2cd94 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc index 2b62adb4810..5848be04f47 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h b/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h index 1b79e6e8ac1..2762cd9eee9 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h @@ -18,17 +18,18 @@ #define ID_SYSTEM_DEFAULTS 0xFFF6 #define ID_SYSTEM_PROPERTIES 0xFFF7 -#define NCPOPUP_MENU 103 +#define IDS_EDIT 204 +#define IDS_MARK 205 +#define IDS_COPY 206 +#define IDS_PASTE 207 +#define IDS_SELECTALL 208 +#define IDS_SCROLL 209 +#define IDS_FIND 210 +#define IDS_DEFAULTS 211 +#define IDS_PROPERTIES 212 -#define IDS_EDIT 204 -#define IDS_MARK 205 -#define IDS_COPY 206 -#define IDS_PASTE 207 -#define IDS_SELECTALL 208 -#define IDS_SCROLL 209 -#define IDS_FIND 210 -#define IDS_DEFAULTS 211 -#define IDS_PROPERTIES 212 +#define IDS_MARK_TITLE 220 +#define IDS_SELECT_TITLE 221 // Scrollbar resource ids. Unused. /* diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c index 84d0101d8af..2de3b11ffd8 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c @@ -59,9 +59,6 @@ GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, GuiData->Selection.srSelection.Right, GuiData->Selection.srSelection.Bottom); -#ifdef IS_WHITESPACE -#undef IS_WHITESPACE -#endif #define IS_WHITESPACE(c) ((c) == L'\0' || (c) == L' ' || (c) == L'\t') /* Basic size for one line... */ From 39465487a968df3f0dcfc39ef35a4074ac54302f Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 7 Jun 2014 20:02:26 +0000 Subject: [PATCH 036/120] [USETUP] Implement scolling through the list of logical partitions. Multiple disks are not supported yet. svn path=/trunk/; revision=63547 --- reactos/base/setup/usetup/interface/usetup.c | 6 +- reactos/base/setup/usetup/partlist.c | 144 ++++++++++++++++--- reactos/base/setup/usetup/partlist.h | 4 +- 3 files changed, 129 insertions(+), 25 deletions(-) diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index e2c394cf5ec..7bc25646673 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -1581,12 +1581,14 @@ SelectPartitionPage(PINPUT_RECORD Ir) else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */ { - ScrollDownPartitionList(PartitionList); + if (ScrollDownPartitionList(PartitionList)) + DrawPartitionList(PartitionList); } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */ { - ScrollUpPartitionList(PartitionList); + if (ScrollUpPartitionList(PartitionList)) + DrawPartitionList(PartitionList); } else if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_RETURN) /* ENTER */ { diff --git a/reactos/base/setup/usetup/partlist.c b/reactos/base/setup/usetup/partlist.c index 61b93a2582f..b8aad4ad9ae 100644 --- a/reactos/base/setup/usetup/partlist.c +++ b/reactos/base/setup/usetup/partlist.c @@ -1174,6 +1174,29 @@ AddDiskToList( DumpPartitionTable(DiskEntry); #endif + if (DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart != 0 && + DiskEntry->LayoutBuffer->PartitionEntry[0].PartitionLength.QuadPart != 0 && + DiskEntry->LayoutBuffer->PartitionEntry[0].PartitionType != 0) + { + if ((DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart / DiskEntry->BytesPerSector) % DiskEntry->SectorsPerTrack == 0) + { + DPRINT1("Use %lu Sector alignment!\n", DiskEntry->SectorsPerTrack); + } + else if (DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart % 1048756 == 0) + { + DPRINT1("Use megabyte (%lu Sectors) alignment!\n", 1048756 / DiskEntry->BytesPerSector); + } + else + { + DPRINT1("No matching aligment found! Partiton 1 starts at %I64u\n", DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart); + } + } + else + { + DPRINT1("No valid partiton table found! Use megabyte (%lu Sectors) alignment!\n", 1048756 / DiskEntry->BytesPerSector); + } + + if (DiskEntry->LayoutBuffer->PartitionCount == 0) { DiskEntry->NewDisk = TRUE; @@ -1986,33 +2009,80 @@ SelectPartition( } -VOID +BOOL ScrollDownPartitionList( PPARTLIST List) { // PDISKENTRY DiskEntry; PPARTENTRY PartEntry; -// PLIST_ENTRY Entry1; - PLIST_ENTRY Entry2; + PLIST_ENTRY Entry; /* Check for empty disks */ if (IsListEmpty(&List->DiskListHead)) - return; + return FALSE; + /* Check for next usable entry on current disk */ if (List->CurrentPartition != NULL) { - Entry2 = List->CurrentPartition->ListEntry.Flink; - if (Entry2 != &List->CurrentDisk->PrimaryPartListHead) + if (List->CurrentPartition->LogicalPartition) { - PartEntry = CONTAINING_RECORD(Entry2, PARTENTRY, ListEntry); + /* Logical partition */ - List->CurrentPartition = PartEntry; - DrawPartitionList(List); - return; + Entry = List->CurrentPartition->ListEntry.Flink; + if (Entry != &List->CurrentDisk->LogicalPartListHead) + { + /* Next logical partition */ + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + + List->CurrentPartition = PartEntry; + return TRUE; + } + else + { + Entry = List->CurrentDisk->ExtendedPartition->ListEntry.Flink; + if (Entry != &List->CurrentDisk->PrimaryPartListHead) + { + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + + List->CurrentPartition = PartEntry; + return TRUE; + } + } + } + else + { + /* Primary or extended partition */ + + if (IsContainerPartition(List->CurrentPartition->PartitionType)) + { + /* First logical partition */ + Entry = List->CurrentDisk->LogicalPartListHead.Flink; + if (Entry != &List->CurrentDisk->LogicalPartListHead) + { + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + + List->CurrentPartition = PartEntry; + return TRUE; + } + } + else + { + /* Next primary partition */ + Entry = List->CurrentPartition->ListEntry.Flink; + if (Entry != &List->CurrentDisk->PrimaryPartListHead) + { + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + + List->CurrentPartition = PartEntry; + return TRUE; + } + } } } + DPRINT1("TODO: Check the next drive!\n"); + #if 0 /* Check for first usable entry on next disk */ if (List->CurrentDisk != NULL) @@ -2037,38 +2107,68 @@ ScrollDownPartitionList( } } #endif + + return FALSE; } -VOID +BOOL ScrollUpPartitionList( PPARTLIST List) { // PDISKENTRY DiskEntry; PPARTENTRY PartEntry; -// PLIST_ENTRY Entry1; - PLIST_ENTRY Entry2; + PLIST_ENTRY Entry; /* Check for empty disks */ if (IsListEmpty(&List->DiskListHead)) - return; + return FALSE; - /* check for previous usable entry on current disk */ + /* Check for previous usable entry on current disk */ if (List->CurrentPartition != NULL) { - Entry2 = List->CurrentPartition->ListEntry.Blink; - if (Entry2 != &List->CurrentDisk->PrimaryPartListHead) + if (List->CurrentPartition->LogicalPartition) { - PartEntry = CONTAINING_RECORD(Entry2, PARTENTRY, ListEntry); + /* Logical partition */ + Entry = List->CurrentPartition->ListEntry.Blink; + if (Entry != &List->CurrentDisk->LogicalPartListHead) + { + /* Previous logical partition */ + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + } + else + { + /* Extended partition*/ + PartEntry = List->CurrentDisk->ExtendedPartition; + } List->CurrentPartition = PartEntry; + return TRUE; + } + else + { + /* Primary or extended partition */ + + Entry = List->CurrentPartition->ListEntry.Blink; + if (Entry != &List->CurrentDisk->PrimaryPartListHead) + { + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + + if (IsContainerPartition(PartEntry->PartitionType)) + { + Entry = List->CurrentDisk->LogicalPartListHead.Blink; + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + } + + List->CurrentPartition = PartEntry; + return TRUE; + } - /* Draw partition list and return */ - DrawPartitionList(List); - return; } } + DPRINT1("TODO: Check the previous drive!\n"); + #if 0 /* check for last usable entry on previous disk */ if (List->CurrentDisk != NULL) @@ -2095,6 +2195,8 @@ ScrollUpPartitionList( } } #endif + + return FALSE; } diff --git a/reactos/base/setup/usetup/partlist.h b/reactos/base/setup/usetup/partlist.h index b276ef3ec81..3423fe65120 100644 --- a/reactos/base/setup/usetup/partlist.h +++ b/reactos/base/setup/usetup/partlist.h @@ -211,11 +211,11 @@ BOOL SetMountedDeviceValues( PPARTLIST List); -VOID +BOOL ScrollDownPartitionList( PPARTLIST List); -VOID +BOOL ScrollUpPartitionList( PPARTLIST List); From d742698726ea5c0393b5b47567242442e8452b63 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 11:56:30 +0000 Subject: [PATCH 037/120] [REG] * Do not rely on RegDeleteTreeW which shouldn't be exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63549 --- reactos/base/applications/cmdutils/reg/CMakeLists.txt | 5 +---- reactos/base/applications/cmdutils/reg/reg.c | 3 ++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/reactos/base/applications/cmdutils/reg/CMakeLists.txt b/reactos/base/applications/cmdutils/reg/CMakeLists.txt index a6833f9a77c..4efbd6bd5eb 100644 --- a/reactos/base/applications/cmdutils/reg/CMakeLists.txt +++ b/reactos/base/applications/cmdutils/reg/CMakeLists.txt @@ -1,8 +1,5 @@ -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - add_executable(reg reg.c reg.rc) set_module_type(reg win32cui UNICODE) -add_importlibs(reg advapi32 user32 msvcrt kernel32) +add_importlibs(reg advapi32 user32 shlwapi msvcrt kernel32) add_cd_file(TARGET reg DESTINATION reactos/system32 FOR all) diff --git a/reactos/base/applications/cmdutils/reg/reg.c b/reactos/base/applications/cmdutils/reg/reg.c index b7144eae51c..19e383a5d96 100644 --- a/reactos/base/applications/cmdutils/reg/reg.c +++ b/reactos/base/applications/cmdutils/reg/reg.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include "reg.h" @@ -293,7 +294,7 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, /* Delete subtree only if no /v* option is given */ if (!value_name && !value_empty && !value_all) { - if (RegDeleteTreeW(root,p)!=ERROR_SUCCESS) + if (SHDeleteKey(root, p) != ERROR_SUCCESS) { reg_message(STRING_CANNOT_FIND); return 1; From ee29688b8d8d2ac82b3b368fa3420bf9f820c755 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 12:02:59 +0000 Subject: [PATCH 038/120] [DEVENUM] * Do not rely on RegDeleteTreeW which shouldn't be exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63550 --- reactos/dll/directx/wine/devenum/CMakeLists.txt | 5 +---- reactos/dll/directx/wine/devenum/createdevenum.c | 11 ++++++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/reactos/dll/directx/wine/devenum/CMakeLists.txt b/reactos/dll/directx/wine/devenum/CMakeLists.txt index 5768de217ba..8af2acf7b4d 100644 --- a/reactos/dll/directx/wine/devenum/CMakeLists.txt +++ b/reactos/dll/directx/wine/devenum/CMakeLists.txt @@ -1,7 +1,4 @@ -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - add_definitions(-D__WINESRC__) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(devenum.dll devenum.spec) @@ -22,7 +19,7 @@ add_library(devenum SHARED set_source_files_properties(devenum.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/devenum_classes.rgs) set_module_type(devenum win32dll UNICODE) target_link_libraries(devenum strmiids uuid wine) -add_importlibs(devenum advapi32 ole32 oleaut32 winmm user32 avicap32 msvcrt kernel32 ntdll) +add_importlibs(devenum advapi32 ole32 oleaut32 winmm user32 avicap32 shlwapi msvcrt kernel32 ntdll) add_delay_importlibs(devenum msvfw32) add_pch(devenum devenum_private.h SOURCE) add_cd_file(TARGET devenum DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/directx/wine/devenum/createdevenum.c b/reactos/dll/directx/wine/devenum/createdevenum.c index 29ba0e8ca33..77808b2bc94 100644 --- a/reactos/dll/directx/wine/devenum/createdevenum.c +++ b/reactos/dll/directx/wine/devenum/createdevenum.c @@ -27,6 +27,7 @@ #include #include +#include #include "resource.h" @@ -675,15 +676,15 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) * or switched from pulseaudio to alsa, delete all old devices first */ if (SUCCEEDED(DEVENUM_GetCategoryKey(&CLSID_AudioRendererCategory, &basekey, path, MAX_PATH))) - RegDeleteTreeW(basekey, path); + SHDeleteKeyW(basekey, path); if (SUCCEEDED(DEVENUM_GetCategoryKey(&CLSID_AudioInputDeviceCategory, &basekey, path, MAX_PATH))) - RegDeleteTreeW(basekey, path); + SHDeleteKeyW(basekey, path); if (SUCCEEDED(DEVENUM_GetCategoryKey(&CLSID_VideoInputDeviceCategory, &basekey, path, MAX_PATH))) - RegDeleteTreeW(basekey, path); + SHDeleteKeyW(basekey, path); if (SUCCEEDED(DEVENUM_GetCategoryKey(&CLSID_MidiRendererCategory, &basekey, path, MAX_PATH))) - RegDeleteTreeW(basekey, path); + SHDeleteKeyW(basekey, path); if (SUCCEEDED(DEVENUM_GetCategoryKey(&CLSID_VideoCompressorCategory, &basekey, path, MAX_PATH))) - RegDeleteTreeW(basekey, path); + SHDeleteKeyW(basekey, path); rf2.dwVersion = 2; rf2.dwMerit = MERIT_PREFERRED; From 60de098b286b97519f51f1d48e298fa89b53f023 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 12:08:16 +0000 Subject: [PATCH 039/120] * Use SHDeleteKeyW explicitly here. svn path=/trunk/; revision=63551 --- reactos/base/applications/cmdutils/reg/reg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/base/applications/cmdutils/reg/reg.c b/reactos/base/applications/cmdutils/reg/reg.c index 19e383a5d96..7a667b6cff4 100644 --- a/reactos/base/applications/cmdutils/reg/reg.c +++ b/reactos/base/applications/cmdutils/reg/reg.c @@ -294,7 +294,7 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, /* Delete subtree only if no /v* option is given */ if (!value_name && !value_empty && !value_all) { - if (SHDeleteKey(root, p) != ERROR_SUCCESS) + if (SHDeleteKeyW(root, p) != ERROR_SUCCESS) { reg_message(STRING_CANNOT_FIND); return 1; From bf89f9e6bb1efeb476409226a473ed09b385a7c3 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 12:14:06 +0000 Subject: [PATCH 040/120] [QUARTZ] * Do not rely on RegDeleteTree{A,W} which shouldn't be exported. * Move shlwapi.h inclusion to the PCH. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63552 --- reactos/dll/directx/wine/quartz/CMakeLists.txt | 3 --- reactos/dll/directx/wine/quartz/filesource.c | 2 -- reactos/dll/directx/wine/quartz/filtermapper.c | 4 ++-- reactos/dll/directx/wine/quartz/quartz_private.h | 1 + reactos/dll/directx/wine/quartz/regsvr.c | 12 ++++++------ 5 files changed, 9 insertions(+), 13 deletions(-) diff --git a/reactos/dll/directx/wine/quartz/CMakeLists.txt b/reactos/dll/directx/wine/quartz/CMakeLists.txt index 490448bd0f7..50040af12c9 100644 --- a/reactos/dll/directx/wine/quartz/CMakeLists.txt +++ b/reactos/dll/directx/wine/quartz/CMakeLists.txt @@ -1,7 +1,4 @@ -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - add_definitions( -D__WINESRC__ -DENTRY_PREFIX=QUARTZ_ diff --git a/reactos/dll/directx/wine/quartz/filesource.c b/reactos/dll/directx/wine/quartz/filesource.c index 4a26313ba2c..e63a5f42cdc 100644 --- a/reactos/dll/directx/wine/quartz/filesource.c +++ b/reactos/dll/directx/wine/quartz/filesource.c @@ -20,8 +20,6 @@ #include "quartz_private.h" -#include - static const WCHAR wszOutputPinName[] = { 'O','u','t','p','u','t',0 }; typedef struct AsyncReader diff --git a/reactos/dll/directx/wine/quartz/filtermapper.c b/reactos/dll/directx/wine/quartz/filtermapper.c index 97129e26d4a..704ea5a0aed 100644 --- a/reactos/dll/directx/wine/quartz/filtermapper.c +++ b/reactos/dll/directx/wine/quartz/filtermapper.c @@ -1513,7 +1513,7 @@ static HRESULT WINAPI FilterMapper_UnregisterFilter(IFilterMapper * iface, CLSID if (lRet != ERROR_SUCCESS) hr = HRESULT_FROM_WIN32(lRet); - lRet = RegDeleteTreeW(hKey, wszPins); + lRet = SHDeleteKeyW(hKey, wszPins); if (lRet != ERROR_SUCCESS) hr = HRESULT_FROM_WIN32(lRet); @@ -1572,7 +1572,7 @@ static HRESULT WINAPI FilterMapper_UnregisterPin(IFilterMapper * iface, CLSID Fi strcatW(wszPinNameKey, wszSlash); strcatW(wszPinNameKey, Name); - lRet = RegDeleteTreeW(hKey, wszPinNameKey); + lRet = SHDeleteKeyW(hKey, wszPinNameKey); hr = HRESULT_FROM_WIN32(lRet); CoTaskMemFree(wszPinNameKey); } diff --git a/reactos/dll/directx/wine/quartz/quartz_private.h b/reactos/dll/directx/wine/quartz/quartz_private.h index ae3a276fda1..c85a03326db 100644 --- a/reactos/dll/directx/wine/quartz/quartz_private.h +++ b/reactos/dll/directx/wine/quartz/quartz_private.h @@ -41,6 +41,7 @@ #include #include #include +#include #include #include diff --git a/reactos/dll/directx/wine/quartz/regsvr.c b/reactos/dll/directx/wine/quartz/regsvr.c index bbf519c8877..686257daa87 100644 --- a/reactos/dll/directx/wine/quartz/regsvr.c +++ b/reactos/dll/directx/wine/quartz/regsvr.c @@ -240,7 +240,7 @@ static HRESULT unregister_interfaces(struct regsvr_interface const *list) WCHAR buf[39]; StringFromGUID2(list->iid, buf, 39); - res = RegDeleteTreeW(interface_key, buf); + res = SHDeleteKeyW(interface_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; } @@ -346,18 +346,18 @@ static HRESULT unregister_coclasses(struct regsvr_coclass const *list) WCHAR buf[39]; StringFromGUID2(list->clsid, buf, 39); - res = RegDeleteTreeW(coclass_key, buf); + res = SHDeleteKeyW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; if (list->progid) { - res = RegDeleteTreeA(HKEY_CLASSES_ROOT, list->progid); + res = SHDeleteKeyA(HKEY_CLASSES_ROOT, list->progid); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } if (list->viprogid) { - res = RegDeleteTreeA(HKEY_CLASSES_ROOT, list->viprogid); + res = SHDeleteKeyA(HKEY_CLASSES_ROOT, list->viprogid); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -500,7 +500,7 @@ static HRESULT unregister_mediatypes_parsing(struct regsvr_mediatype_parsing con if (res != ERROR_SUCCESS) break; StringFromGUID2(list->subtype, buf, 39); - res = RegDeleteTreeW(majortype_key, buf); + res = SHDeleteKeyW(majortype_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; /* Removed majortype key if there is no more subtype key */ @@ -535,7 +535,7 @@ static HRESULT unregister_mediatypes_extension(struct regsvr_mediatype_extension res = ERROR_SUCCESS; else if (res == ERROR_SUCCESS) for (; res == ERROR_SUCCESS && list->majortype; ++list) { - res = RegDeleteTreeA(extensions_root_key, list->extension); + res = SHDeleteKeyA(extensions_root_key, list->extension); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; } From 74e0de1a68444b5e8258302dfddabd52d4363bb8 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 12:45:39 +0000 Subject: [PATCH 041/120] [CRYPT32] * Do not rely on RegDeleteTreeW which shouldn't be exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63553 --- reactos/dll/win32/crypt32/CMakeLists.txt | 5 +---- reactos/dll/win32/crypt32/regstore.c | 8 +++++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/reactos/dll/win32/crypt32/CMakeLists.txt b/reactos/dll/win32/crypt32/CMakeLists.txt index a4eedfafdcb..b10d63891ab 100644 --- a/reactos/dll/win32/crypt32/CMakeLists.txt +++ b/reactos/dll/win32/crypt32/CMakeLists.txt @@ -4,9 +4,6 @@ add_definitions( -D_WINE -D_CRYPT32_) -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(crypt32.dll crypt32.spec ADD_IMPORTLIB) @@ -45,7 +42,7 @@ add_library(crypt32 SHARED set_module_type(crypt32 win32dll) target_link_libraries(crypt32 wine ${PSEH_LIB} oldnames) -add_importlibs(crypt32 user32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(crypt32 user32 advapi32 shlwapi msvcrt kernel32 ntdll) add_delay_importlibs(crypt32 cryptnet) add_pch(crypt32 crypt32_private.h SOURCE) add_cd_file(TARGET crypt32 DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/crypt32/regstore.c b/reactos/dll/win32/crypt32/regstore.c index f90103da8f9..364ad0d4a67 100644 --- a/reactos/dll/win32/crypt32/regstore.c +++ b/reactos/dll/win32/crypt32/regstore.c @@ -18,6 +18,8 @@ #include "crypt32_private.h" +#include + WINE_DEFAULT_DEBUG_CHANNEL(crypt); typedef struct _WINE_HASH_TO_DELETE @@ -507,12 +509,12 @@ WINECRYPT_CERTSTORE *CRYPT_RegOpenStore(HCRYPTPROV hCryptProv, DWORD dwFlags, if (dwFlags & CERT_STORE_DELETE_FLAG) { - DWORD rc = RegDeleteTreeW((HKEY)pvPara, CertsW); + DWORD rc = SHDeleteKeyW((HKEY)pvPara, CertsW); if (rc == ERROR_SUCCESS || rc == ERROR_NO_MORE_ITEMS) - rc = RegDeleteTreeW((HKEY)pvPara, CRLsW); + rc = SHDeleteKeyW((HKEY)pvPara, CRLsW); if (rc == ERROR_SUCCESS || rc == ERROR_NO_MORE_ITEMS) - rc = RegDeleteTreeW((HKEY)pvPara, CTLsW); + rc = SHDeleteKeyW((HKEY)pvPara, CTLsW); if (rc == ERROR_NO_MORE_ITEMS) rc = ERROR_SUCCESS; SetLastError(rc); From 5814ee76b399623a5881a89cdc528984cc7c85a0 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 14:51:07 +0000 Subject: [PATCH 042/120] [LOCALSPL] * Do not rely on RegDeleteTreeW which shouldn't be exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63554 --- reactos/dll/win32/localspl/CMakeLists.txt | 5 +---- reactos/dll/win32/localspl/provider.c | 3 ++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/reactos/dll/win32/localspl/CMakeLists.txt b/reactos/dll/win32/localspl/CMakeLists.txt index 17d814e6a53..92e88073716 100644 --- a/reactos/dll/win32/localspl/CMakeLists.txt +++ b/reactos/dll/win32/localspl/CMakeLists.txt @@ -1,7 +1,4 @@ -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - add_definitions(-D__WINESRC__) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(localspl.dll localspl.spec) @@ -20,6 +17,6 @@ add_library(localspl SHARED set_module_type(localspl win32dll) target_link_libraries(localspl wine) -add_importlibs(localspl spoolss user32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(localspl spoolss user32 advapi32 shlwapi msvcrt kernel32 ntdll) add_pch(localspl localspl_private.h SOURCE) add_cd_file(TARGET localspl DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/localspl/provider.c b/reactos/dll/win32/localspl/provider.c index fb4686101e0..fbdb2e67337 100644 --- a/reactos/dll/win32/localspl/provider.c +++ b/reactos/dll/win32/localspl/provider.c @@ -20,6 +20,7 @@ #include "localspl_private.h" +#include #include /* ############################### */ @@ -1846,7 +1847,7 @@ static BOOL WINAPI fpDeleteMonitor(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pMo return FALSE; } - if(RegDeleteTreeW(hroot, pMonitorName) == ERROR_SUCCESS) { + if(SHDeleteKeyW(hroot, pMonitorName) == ERROR_SUCCESS) { TRACE("%s deleted\n", debugstr_w(pMonitorName)); RegCloseKey(hroot); return TRUE; From f55a509638ba9c843c7b059f055f7f78cf7e5d0f Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 15:00:51 +0000 Subject: [PATCH 043/120] [MSCTF] * Do not rely on RegDeleteTreeW which shouldn't be exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63555 --- reactos/dll/win32/msctf/CMakeLists.txt | 5 +---- reactos/dll/win32/msctf/categorymgr.c | 4 ++-- reactos/dll/win32/msctf/inputprocessor.c | 4 ++-- reactos/dll/win32/msctf/msctf_internal.h | 1 + 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/reactos/dll/win32/msctf/CMakeLists.txt b/reactos/dll/win32/msctf/CMakeLists.txt index 63be882bff0..fae9512e042 100644 --- a/reactos/dll/win32/msctf/CMakeLists.txt +++ b/reactos/dll/win32/msctf/CMakeLists.txt @@ -1,7 +1,4 @@ -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - add_definitions(-D__WINESRC__) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(msctf.dll msctf.spec) @@ -27,6 +24,6 @@ add_library(msctf SHARED set_module_type(msctf win32dll) target_link_libraries(msctf uuid wine) -add_importlibs(msctf ole32 oleaut32 user32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(msctf ole32 oleaut32 user32 advapi32 shlwapi msvcrt kernel32 ntdll) add_pch(msctf msctf_internal.h SOURCE) add_cd_file(TARGET msctf DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/msctf/categorymgr.c b/reactos/dll/win32/msctf/categorymgr.c index 509494fd0ed..8d7241377be 100644 --- a/reactos/dll/win32/msctf/categorymgr.c +++ b/reactos/dll/win32/msctf/categorymgr.c @@ -154,9 +154,9 @@ static HRESULT WINAPI CategoryMgr_UnregisterCategory ( ITfCategoryMgr *iface, sprintfW(fullkey,fmt2,ctg,ctg,buf,buf2); sprintfW(fullkey,fmt2,ctg,itm,buf2,buf); - RegDeleteTreeW(tipkey, fullkey); + SHDeleteKeyW(tipkey, fullkey); sprintfW(fullkey,fmt2,ctg,itm,buf2,buf); - RegDeleteTreeW(tipkey, fullkey); + SHDeleteKeyW(tipkey, fullkey); RegCloseKey(tipkey); return S_OK; diff --git a/reactos/dll/win32/msctf/inputprocessor.c b/reactos/dll/win32/msctf/inputprocessor.c index 7d22540f046..f7561a959bc 100644 --- a/reactos/dll/win32/msctf/inputprocessor.c +++ b/reactos/dll/win32/msctf/inputprocessor.c @@ -227,8 +227,8 @@ static HRESULT WINAPI InputProcessorProfiles_Unregister( StringFromGUID2(rclsid, buf, 39); sprintfW(fullkey,szwTipfmt,szwSystemTIPKey,buf); - RegDeleteTreeW(HKEY_LOCAL_MACHINE, fullkey); - RegDeleteTreeW(HKEY_CURRENT_USER, fullkey); + SHDeleteKeyW(HKEY_LOCAL_MACHINE, fullkey); + SHDeleteKeyW(HKEY_CURRENT_USER, fullkey); return S_OK; } diff --git a/reactos/dll/win32/msctf/msctf_internal.h b/reactos/dll/win32/msctf/msctf_internal.h index e59765daf50..c6b26436f66 100644 --- a/reactos/dll/win32/msctf/msctf_internal.h +++ b/reactos/dll/win32/msctf/msctf_internal.h @@ -37,6 +37,7 @@ #include #include #include +#include #include #include From 8db88e614554428c824dc728fe2589941c79a065 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 17:01:26 +0000 Subject: [PATCH 044/120] [NTMARTA] * {Set,Query}SecurityAccessMask should not be exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63556 --- reactos/dll/win32/ntmarta/CMakeLists.txt | 4 --- reactos/dll/win32/ntmarta/ntmarta.c | 37 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/ntmarta/CMakeLists.txt b/reactos/dll/win32/ntmarta/CMakeLists.txt index 1cfea80cb4b..1890871ab5d 100644 --- a/reactos/dll/win32/ntmarta/CMakeLists.txt +++ b/reactos/dll/win32/ntmarta/CMakeLists.txt @@ -1,10 +1,6 @@ - add_definitions(-D__WINESRC__) -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - spec2def(ntmarta.dll ntmarta.spec) list(APPEND SOURCE diff --git a/reactos/dll/win32/ntmarta/ntmarta.c b/reactos/dll/win32/ntmarta/ntmarta.c index fa164250039..5549949a63e 100644 --- a/reactos/dll/win32/ntmarta/ntmarta.c +++ b/reactos/dll/win32/ntmarta/ntmarta.c @@ -25,6 +25,7 @@ * UPDATE HISTORY: * 07/26/2005 Created */ + #include "ntmarta.h" #define NDEBUG @@ -32,6 +33,42 @@ HINSTANCE hDllInstance; +/* FIXME: Vista+ API */ +VOID +WINAPI +SetSecurityAccessMask(IN SECURITY_INFORMATION SecurityInformation, + OUT LPDWORD DesiredAccess) +{ + *DesiredAccess = 0; + + if (SecurityInformation & (OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION)) + *DesiredAccess |= WRITE_OWNER; + + if (SecurityInformation & DACL_SECURITY_INFORMATION) + *DesiredAccess |= WRITE_DAC; + + if (SecurityInformation & SACL_SECURITY_INFORMATION) + *DesiredAccess |= ACCESS_SYSTEM_SECURITY; +} + +/* FIXME: Vista+ API */ +VOID +WINAPI +QuerySecurityAccessMask(IN SECURITY_INFORMATION SecurityInformation, + OUT LPDWORD DesiredAccess) +{ + *DesiredAccess = 0; + + if (SecurityInformation & (OWNER_SECURITY_INFORMATION | + GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)) + { + *DesiredAccess |= READ_CONTROL; + } + + if (SecurityInformation & SACL_SECURITY_INFORMATION) + *DesiredAccess |= ACCESS_SYSTEM_SECURITY; +} + static ACCESS_MODE AccpGetAceAccessMode(IN PACE_HEADER AceHeader) { From ce53530645100c39badc023ee8b4802067e59470 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 17:05:26 +0000 Subject: [PATCH 045/120] [MSI] * Do not rely on RegDeleteTreeW which shouldn't be exported. CORE-8174 svn path=/trunk/; revision=63557 --- reactos/dll/win32/msi/action.c | 2 +- reactos/dll/win32/msi/classes.c | 10 +++++----- reactos/dll/win32/msi/registry.c | 22 +++++++++++----------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/reactos/dll/win32/msi/action.c b/reactos/dll/win32/msi/action.c index b5c2412baf6..b88d2d03e05 100644 --- a/reactos/dll/win32/msi/action.c +++ b/reactos/dll/win32/msi/action.c @@ -2989,7 +2989,7 @@ static void delete_tree( HKEY root, const WCHAR *path ) HKEY hkey; if (!(hkey = open_key( root, path, FALSE ))) return; - res = RegDeleteTreeW( hkey, NULL ); + res = SHDeleteKeyW( hkey, NULL ); if (res) TRACE("failed to delete subtree of %s (%d)\n", debugstr_w(path), res); delete_key( root, path ); RegCloseKey( hkey ); diff --git a/reactos/dll/win32/msi/classes.c b/reactos/dll/win32/msi/classes.c index eb159798132..513f6c91827 100644 --- a/reactos/dll/win32/msi/classes.c +++ b/reactos/dll/win32/msi/classes.c @@ -953,7 +953,7 @@ UINT ACTION_UnregisterClassInfo( MSIPACKAGE *package ) cls->action = INSTALLSTATE_ABSENT; - res = RegDeleteTreeW( hkey, cls->clsid ); + res = SHDeleteKeyW( hkey, cls->clsid ); if (res != ERROR_SUCCESS) WARN("Failed to delete class key %d\n", res); @@ -975,7 +975,7 @@ UINT ACTION_UnregisterClassInfo( MSIPACKAGE *package ) { strcpyW( filetype, szFileType ); strcatW( filetype, cls->clsid ); - res = RegDeleteTreeW( HKEY_CLASSES_ROOT, filetype ); + res = SHDeleteKeyW( HKEY_CLASSES_ROOT, filetype ); msi_free( filetype ); if (res != ERROR_SUCCESS) @@ -1148,7 +1148,7 @@ UINT ACTION_UnregisterProgIdInfo( MSIPACKAGE *package ) } TRACE("Unregistering progid %s\n", debugstr_w(progid->ProgID)); - res = RegDeleteTreeW( HKEY_CLASSES_ROOT, progid->ProgID ); + res = SHDeleteKeyW( HKEY_CLASSES_ROOT, progid->ProgID ); if (res != ERROR_SUCCESS) TRACE("Failed to delete progid key %d\n", res); @@ -1392,7 +1392,7 @@ UINT ACTION_UnregisterExtensionInfo( MSIPACKAGE *package ) { extension[0] = '.'; strcpyW( extension + 1, ext->Extension ); - res = RegDeleteTreeW( HKEY_CLASSES_ROOT, extension ); + res = SHDeleteKeyW( HKEY_CLASSES_ROOT, extension ); msi_free( extension ); if (res != ERROR_SUCCESS) WARN("Failed to delete extension key %d\n", res); @@ -1414,7 +1414,7 @@ UINT ACTION_UnregisterExtensionInfo( MSIPACKAGE *package ) { strcpyW( progid_shell, progid ); strcatW( progid_shell, shellW ); - res = RegDeleteTreeW( HKEY_CLASSES_ROOT, progid_shell ); + res = SHDeleteKeyW( HKEY_CLASSES_ROOT, progid_shell ); msi_free( progid_shell ); if (res != ERROR_SUCCESS) WARN("Failed to delete shell key %d\n", res); diff --git a/reactos/dll/win32/msi/registry.c b/reactos/dll/win32/msi/registry.c index afa2dfc41ec..2429fa1ee7b 100644 --- a/reactos/dll/win32/msi/registry.c +++ b/reactos/dll/win32/msi/registry.c @@ -477,7 +477,7 @@ UINT MSIREG_DeleteUninstallKey(const WCHAR *product, enum platform platform) strcpyW(keypath, szUninstall); strcatW(keypath, product); } - return RegDeleteTreeW(HKEY_LOCAL_MACHINE, keypath); + return SHDeleteKeyW(HKEY_LOCAL_MACHINE, keypath); } UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) @@ -528,7 +528,7 @@ UINT MSIREG_DeleteUserProductKey(LPCWSTR szProduct) strcpyW(keypath, szUserProducts); strcatW(keypath, squished_pc); - return RegDeleteTreeW(HKEY_CURRENT_USER, keypath); + return SHDeleteKeyW(HKEY_CURRENT_USER, keypath); } UINT MSIREG_OpenUserPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create) @@ -593,7 +593,7 @@ UINT MSIREG_DeleteUserFeaturesKey(LPCWSTR szProduct) strcpyW(keypath, szUserFeatures); strcatW(keypath, squished_pc); - return RegDeleteTreeW(HKEY_CURRENT_USER, keypath); + return SHDeleteKeyW(HKEY_CURRENT_USER, keypath); } static UINT MSIREG_OpenInstallerFeaturesKey(LPCWSTR szProduct, HKEY *key, BOOL create) @@ -707,7 +707,7 @@ UINT MSIREG_DeleteUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid) sprintfW(keypath, szUserDataComponents_fmt, szUserSid); if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, keypath, 0, access, &hkey)) return ERROR_SUCCESS; - r = RegDeleteTreeW(hkey, comp); + r = SHDeleteKeyW(hkey, comp); RegCloseKey(hkey); return r; } @@ -788,7 +788,7 @@ UINT MSIREG_DeleteUserDataPatchKey(LPCWSTR patch, MSIINSTALLCONTEXT context) LocalFree(usersid); } if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, keypath, 0, access, &hkey)) return ERROR_SUCCESS; - r = RegDeleteTreeW(hkey, squished_patch); + r = SHDeleteKeyW(hkey, squished_patch); RegCloseKey(hkey); return r; } @@ -865,7 +865,7 @@ UINT MSIREG_DeleteUserDataProductKey(LPCWSTR szProduct) LocalFree(usersid); if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, keypath, 0, access, &hkey)) return ERROR_SUCCESS; - r = RegDeleteTreeW(hkey, squished_pc); + r = SHDeleteKeyW(hkey, squished_pc); RegCloseKey(hkey); return r; } @@ -881,7 +881,7 @@ UINT MSIREG_DeleteProductKey(LPCWSTR szProduct) TRACE("%s squished %s\n", debugstr_w(szProduct), debugstr_w(squished_pc)); if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, szInstaller_Products, 0, access, &hkey)) return ERROR_SUCCESS; - r = RegDeleteTreeW(hkey, squished_pc); + r = SHDeleteKeyW(hkey, squished_pc); RegCloseKey(hkey); return r; } @@ -938,7 +938,7 @@ UINT MSIREG_DeleteUserUpgradeCodesKey(LPCWSTR szUpgradeCode) strcpyW(keypath, szInstaller_UserUpgradeCodes); strcatW(keypath, squished_pc); - return RegDeleteTreeW(HKEY_CURRENT_USER, keypath); + return SHDeleteKeyW(HKEY_CURRENT_USER, keypath); } UINT MSIREG_DeleteLocalClassesProductKey(LPCWSTR szProductCode) @@ -952,7 +952,7 @@ UINT MSIREG_DeleteLocalClassesProductKey(LPCWSTR szProductCode) TRACE("%s squished %s\n", debugstr_w(szProductCode), debugstr_w(squished_pc)); if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, szInstaller_LocalClassesProducts, 0, access, &hkey)) return ERROR_SUCCESS; - r = RegDeleteTreeW(hkey, squished_pc); + r = SHDeleteKeyW(hkey, squished_pc); RegCloseKey(hkey); return r; } @@ -968,7 +968,7 @@ UINT MSIREG_DeleteLocalClassesFeaturesKey(LPCWSTR szProductCode) TRACE("%s squished %s\n", debugstr_w(szProductCode), debugstr_w(squished_pc)); if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, szInstaller_LocalClassesFeatures, 0, access, &hkey)) return ERROR_SUCCESS; - r = RegDeleteTreeW(hkey, squished_pc); + r = SHDeleteKeyW(hkey, squished_pc); RegCloseKey(hkey); return r; } @@ -999,7 +999,7 @@ UINT MSIREG_DeleteClassesUpgradeCodesKey(LPCWSTR szUpgradeCode) TRACE("%s squished %s\n", debugstr_w(szUpgradeCode), debugstr_w(squished_pc)); if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, szInstaller_ClassesUpgradeCodes, 0, access, &hkey)) return ERROR_SUCCESS; - r = RegDeleteTreeW(hkey, squished_pc); + r = SHDeleteKeyW(hkey, squished_pc); RegCloseKey(hkey); return r; } From b3282a34405c340a69add02698dfcee1a73001ef Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 17:11:47 +0000 Subject: [PATCH 046/120] [RPCRT4] * Do not rely on RegDeleteTreeW which shouldn't be exported. CORE-8174 svn path=/trunk/; revision=63558 --- reactos/dll/win32/rpcrt4/CMakeLists.txt | 2 +- reactos/dll/win32/rpcrt4/cpsf.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/CMakeLists.txt b/reactos/dll/win32/rpcrt4/CMakeLists.txt index fa024a5ee24..85207ed0121 100644 --- a/reactos/dll/win32/rpcrt4/CMakeLists.txt +++ b/reactos/dll/win32/rpcrt4/CMakeLists.txt @@ -52,6 +52,6 @@ set_module_type(rpcrt4 win32dll) target_link_libraries(rpcrt4 wine uuid ${PSEH_LIB}) add_delay_importlibs(rpcrt4 iphlpapi wininet secur32 user32) -add_importlibs(rpcrt4 msvcrt advapi32 ws2_32 kernel32 ntdll) +add_importlibs(rpcrt4 advapi32 ws2_32 shlwapi msvcrt kernel32 ntdll) add_pch(rpcrt4 precomp.h SOURCE) add_cd_file(TARGET rpcrt4 DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/rpcrt4/cpsf.c b/reactos/dll/win32/rpcrt4/cpsf.c index 72029a66889..888b057c73d 100644 --- a/reactos/dll/win32/rpcrt4/cpsf.c +++ b/reactos/dll/win32/rpcrt4/cpsf.c @@ -22,6 +22,12 @@ #include +#define NO_SHLWAPI_PATH +#define NO_SHLWAPI_STRFCNS +#define NO_SHLWAPI_GDI +#define NO_SHLWAPI_STREAM +#include + WINE_DEFAULT_DEBUG_CHANNEL(ole); static void format_clsid( WCHAR *buffer, const CLSID *clsid ) @@ -308,7 +314,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll, strcpyW( keyname, interfaceW ); format_clsid( keyname + strlenW(keyname), proxy->header.piid ); - RegDeleteTreeW(HKEY_CLASSES_ROOT, keyname); + SHDeleteKeyW(HKEY_CLASSES_ROOT, keyname); } pProxyFileList++; } @@ -316,7 +322,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll, /* unregister clsid */ strcpyW( keyname, clsidW ); strcatW( keyname, clsid ); - RegDeleteTreeW(HKEY_CLASSES_ROOT, keyname); + SHDeleteKeyW(HKEY_CLASSES_ROOT, keyname); return S_OK; } From 1476e535cf9ab7efd00bffb5c2bb17baae54218c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 8 Jun 2014 17:26:07 +0000 Subject: [PATCH 047/120] [CONSRV] Have you ever dreamt of doing per-line text selection in a windows-like console, instead of only being able to select rectangular blocks of text? Even if it is still not possible on Windows (unless you use one of those hackish hooking libraries on the Internet to do that), it now becomes possible on ReactOS!! Just press Ctrl while you're selecting text, and enjoy! Also, you need to keep Ctrl key pressed while you release the mouse (if you select text via the mouse), to be (afterwards) able to copy the text in line-mode, otherwise it will switch back to block-mode selection. Enjoy! svn path=/trunk/; revision=63559 --- .../user/winsrv/consrv/frontends/gui/conwnd.c | 263 +++++++++++++----- .../user/winsrv/consrv/frontends/gui/conwnd.h | 1 + .../user/winsrv/consrv/frontends/gui/text.c | 172 ++++++++++-- 3 files changed, 352 insertions(+), 84 deletions(-) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index adbbb08c313..9c1a248757f 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -301,7 +301,9 @@ Copy(PGUI_CONSOLE_DATA GuiData); static VOID Paste(PGUI_CONSOLE_DATA GuiData); static VOID -UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord); +UpdateSelection(PGUI_CONSOLE_DATA GuiData, + PCOORD SelectionAnchor OPTIONAL, + PCOORD coord); static VOID Mark(PGUI_CONSOLE_DATA GuiData) @@ -309,30 +311,28 @@ Mark(PGUI_CONSOLE_DATA GuiData) PCONSOLE_SCREEN_BUFFER ActiveBuffer = GuiData->ActiveBuffer; /* Clear the old selection */ - // UpdateSelection(GuiData, NULL); GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; /* Restart a new selection */ - GuiData->dwSelectionCursor.X = ActiveBuffer->ViewOrigin.X; - GuiData->dwSelectionCursor.Y = ActiveBuffer->ViewOrigin.Y; - GuiData->Selection.dwSelectionAnchor = GuiData->dwSelectionCursor; - UpdateSelection(GuiData, &GuiData->Selection.dwSelectionAnchor); + GuiData->dwSelectionCursor = ActiveBuffer->ViewOrigin; + UpdateSelection(GuiData, + &GuiData->dwSelectionCursor, + &GuiData->dwSelectionCursor); } static VOID SelectAll(PGUI_CONSOLE_DATA GuiData) { PCONSOLE_SCREEN_BUFFER ActiveBuffer = GuiData->ActiveBuffer; + COORD SelectionAnchor; /* Clear the old selection */ - // UpdateSelection(GuiData, NULL); GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; /* * The selection area extends to the whole screen buffer's width. */ - GuiData->Selection.dwSelectionAnchor.X = 0; - GuiData->Selection.dwSelectionAnchor.Y = 0; + SelectionAnchor.X = SelectionAnchor.Y = 0; GuiData->dwSelectionCursor.X = ActiveBuffer->ScreenBufferSize.X - 1; /* @@ -358,7 +358,7 @@ SelectAll(PGUI_CONSOLE_DATA GuiData) /* Restart a new selection */ GuiData->Selection.dwFlags |= CONSOLE_MOUSE_SELECTION; - UpdateSelection(GuiData, &GuiData->dwSelectionCursor); + UpdateSelection(GuiData, &SelectionAnchor, &GuiData->dwSelectionCursor); } static LRESULT @@ -678,18 +678,171 @@ SmallRectToRect(PGUI_CONSOLE_DATA GuiData, PRECT Rect, PSMALL_RECT SmallRect) Rect->bottom = (SmallRect->Bottom + 1 - Buffer->ViewOrigin.Y) * HeightUnit; } +VOID +GetSelectionBeginEnd(PCOORD Begin, PCOORD End, + PCOORD SelectionAnchor, + PSMALL_RECT SmallRect) +{ + if (Begin == NULL || End == NULL) return; + + *Begin = *SelectionAnchor; + End->X = (SelectionAnchor->X == SmallRect->Left) ? SmallRect->Right + /* Case X != Left, must be == Right */ : SmallRect->Left; + End->Y = (SelectionAnchor->Y == SmallRect->Top ) ? SmallRect->Bottom + /* Case Y != Top, must be == Bottom */ : SmallRect->Top; + + /* Exchange Begin / End if Begin > End lexicographically */ + if (Begin->Y > End->Y || (Begin->Y == End->Y && Begin->X > End->X)) + { + SHORT tmp; + + // End->X = InterlockedExchange16(&Begin->X, End->X); + tmp = Begin->X; + Begin->X = End->X; + End->X = tmp; + + // End->Y = InterlockedExchange16(&Begin->Y, End->Y); + tmp = Begin->Y; + Begin->Y = End->Y; + End->Y = tmp; + } +} + +static HRGN +CreateSelectionRgn(PGUI_CONSOLE_DATA GuiData, + BOOL LineSelection, + PCOORD SelectionAnchor, + PSMALL_RECT SmallRect) +{ + if (!LineSelection) + { + RECT rect; + SmallRectToRect(GuiData, &rect, SmallRect); + return CreateRectRgnIndirect(&rect); + } + else + { + HRGN SelRgn; + COORD Begin, End; + + GetSelectionBeginEnd(&Begin, &End, SelectionAnchor, SmallRect); + + if (Begin.Y == End.Y) + { + SMALL_RECT sr; + RECT r ; + + sr.Left = Begin.X; + sr.Top = Begin.Y; + sr.Right = End.X; + sr.Bottom = End.Y; + + // Debug thingie to see whether I can put this corner case + // together with the previous one. + if (SmallRect->Left != sr.Left || + SmallRect->Top != sr.Top || + SmallRect->Right != sr.Right || + SmallRect->Bottom != sr.Bottom) + { + DPRINT1("\n" + "SmallRect = (%d, %d, %d, %d)\n" + "sr = (%d, %d, %d, %d)\n" + "\n", + SmallRect->Left, SmallRect->Top, SmallRect->Right, SmallRect->Bottom, + sr.Left, sr.Top, sr.Right, sr.Bottom); + } + + SmallRectToRect(GuiData, &r, &sr); + SelRgn = CreateRectRgnIndirect(&r); + } + else + { + PCONSOLE_SCREEN_BUFFER ActiveBuffer = GuiData->ActiveBuffer; + + HRGN rg1, rg2, rg3; + SMALL_RECT sr1, sr2, sr3; + RECT r1 , r2 , r3 ; + + sr1.Left = Begin.X; + sr1.Top = Begin.Y; + sr1.Right = ActiveBuffer->ScreenBufferSize.X - 1; + sr1.Bottom = Begin.Y; + + sr2.Left = 0; + sr2.Top = Begin.Y + 1; + sr2.Right = ActiveBuffer->ScreenBufferSize.X - 1; + sr2.Bottom = End.Y - 1; + + sr3.Left = 0; + sr3.Top = End.Y; + sr3.Right = End.X; + sr3.Bottom = End.Y; + + SmallRectToRect(GuiData, &r1, &sr1); + SmallRectToRect(GuiData, &r2, &sr2); + SmallRectToRect(GuiData, &r3, &sr3); + + rg1 = CreateRectRgnIndirect(&r1); + rg2 = CreateRectRgnIndirect(&r2); + rg3 = CreateRectRgnIndirect(&r3); + + CombineRgn(rg1, rg1, rg2, RGN_XOR); + CombineRgn(rg1, rg1, rg3, RGN_XOR); + DeleteObject(rg3); + DeleteObject(rg2); + + SelRgn = rg1; + } + + return SelRgn; + } +} + static VOID -UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) +PaintSelectionRect(PGUI_CONSOLE_DATA GuiData, PPAINTSTRUCT pps) +{ + HRGN rgnPaint = CreateRectRgnIndirect(&pps->rcPaint); + HRGN rgnSel = CreateSelectionRgn(GuiData, GuiData->LineSelection, + &GuiData->Selection.dwSelectionAnchor, + &GuiData->Selection.srSelection); + + /* Invert the selection */ + + int ErrorCode = CombineRgn(rgnPaint, rgnPaint, rgnSel, RGN_AND); + if (ErrorCode != ERROR && ErrorCode != NULLREGION) + { + InvertRgn(pps->hdc, rgnPaint); + } + + DeleteObject(rgnSel); + DeleteObject(rgnPaint); +} + +static VOID +UpdateSelection(PGUI_CONSOLE_DATA GuiData, + PCOORD SelectionAnchor OPTIONAL, + PCOORD coord) { PCONSOLE Console = GuiData->Console; - RECT oldRect; + HRGN oldRgn = CreateSelectionRgn(GuiData, GuiData->LineSelection, + &GuiData->Selection.dwSelectionAnchor, + &GuiData->Selection.srSelection); - SmallRectToRect(GuiData, &oldRect, &GuiData->Selection.srSelection); + /* Update the anchor if needed (use the old one if NULL) */ + if (SelectionAnchor) + GuiData->Selection.dwSelectionAnchor = *SelectionAnchor; if (coord != NULL) { - RECT newRect; SMALL_RECT rc; + HRGN newRgn; + + /* + * Pressing the Control key while selecting text, allows us to enter + * into line-selection mode, the selection mode of *nix terminals. + */ + BOOL OldLineSel = GuiData->LineSelection; + GuiData->LineSelection = !!(GetKeyState(VK_CONTROL) & 0x8000); /* Exchange left/top with right/bottom if required */ rc.Left = min(GuiData->Selection.dwSelectionAnchor.X, coord->X); @@ -697,34 +850,29 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) rc.Right = max(GuiData->Selection.dwSelectionAnchor.X, coord->X); rc.Bottom = max(GuiData->Selection.dwSelectionAnchor.Y, coord->Y); - SmallRectToRect(GuiData, &newRect, &rc); + newRgn = CreateSelectionRgn(GuiData, GuiData->LineSelection, + &GuiData->Selection.dwSelectionAnchor, + &rc); if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY) { - if (memcmp(&rc, &GuiData->Selection.srSelection, sizeof(SMALL_RECT)) != 0) + if (OldLineSel != GuiData->LineSelection || + memcmp(&rc, &GuiData->Selection.srSelection, sizeof(SMALL_RECT)) != 0) { - HRGN rgn1, rgn2; - /* Calculate the region that needs to be updated */ - if ((rgn1 = CreateRectRgnIndirect(&oldRect))) + if (oldRgn && newRgn && CombineRgn(newRgn, newRgn, oldRgn, RGN_XOR) != ERROR) { - if ((rgn2 = CreateRectRgnIndirect(&newRect))) - { - if (CombineRgn(rgn1, rgn2, rgn1, RGN_XOR) != ERROR) - { - InvalidateRgn(GuiData->hWindow, rgn1, FALSE); - } - DeleteObject(rgn2); - } - DeleteObject(rgn1); + InvalidateRgn(GuiData->hWindow, newRgn, FALSE); } } } else { - InvalidateRect(GuiData->hWindow, &newRect, FALSE); + InvalidateRgn(GuiData->hWindow, newRgn, FALSE); } + DeleteObject(newRgn); + GuiData->Selection.dwFlags |= CONSOLE_SELECTION_NOT_EMPTY; GuiData->Selection.srSelection = rc; GuiData->dwSelectionCursor = *coord; @@ -737,7 +885,7 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) /* Clear the old selection */ if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY) { - InvalidateRect(GuiData->hWindow, &oldRect, FALSE); + InvalidateRgn(GuiData->hWindow, oldRgn, FALSE); } /* @@ -778,7 +926,7 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) /* Clear the selection */ if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY) { - InvalidateRect(GuiData->hWindow, &oldRect, FALSE); + InvalidateRgn(GuiData->hWindow, oldRgn, FALSE); } GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; @@ -787,6 +935,8 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) /* Restore the console title */ SetWindowText(GuiData->hWindow, Console->Title.Buffer); } + + DeleteObject(oldRgn); } @@ -840,15 +990,10 @@ OnPaint(PGUI_CONSOLE_DATA GuiData) rcPaint.top, SRCCOPY); + /* Draw the selection region if needed */ if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY) { - SmallRectToRect(GuiData, &rcPaint, &GuiData->Selection.srSelection); - - /* Invert the selection */ - if (IntersectRect(&rcPaint, &ps.rcPaint, &rcPaint)) - { - InvertRect(ps.hdc, &rcPaint); - } + PaintSelectionRect(GuiData, &ps); } LeaveCriticalSection(&GuiData->Lock); @@ -925,10 +1070,10 @@ OnKey(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) goto Quit; } else if ( VirtualKeyCode == VK_ESCAPE || - (VirtualKeyCode == 'C' && GetKeyState(VK_CONTROL) & 0x8000) ) + (VirtualKeyCode == 'C' && (GetKeyState(VK_CONTROL) & 0x8000)) ) { /* Cancel selection if ESC or Ctrl-C are pressed */ - UpdateSelection(GuiData, NULL); + UpdateSelection(GuiData, NULL, NULL); goto Quit; } @@ -936,7 +1081,7 @@ OnKey(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) { /* Keyboard selection mode */ BOOL Interpreted = FALSE; - BOOL MajPressed = (GetKeyState(VK_SHIFT) & 0x8000); + BOOL MajPressed = !!(GetKeyState(VK_SHIFT) & 0x8000); switch (VirtualKeyCode) { @@ -1017,10 +1162,9 @@ OnKey(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) if (Interpreted) { - if (!MajPressed) - GuiData->Selection.dwSelectionAnchor = GuiData->dwSelectionCursor; - - UpdateSelection(GuiData, &GuiData->dwSelectionCursor); + UpdateSelection(GuiData, + !MajPressed ? &GuiData->dwSelectionCursor : NULL, + &GuiData->dwSelectionCursor); } else if (!IsSystemKey(VirtualKeyCode)) { @@ -1037,7 +1181,7 @@ OnKey(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) if (!IsSystemKey(VirtualKeyCode)) { /* Clear the selection and send the key into the input buffer */ - UpdateSelection(GuiData, NULL); + UpdateSelection(GuiData, NULL, NULL); } else { @@ -1287,27 +1431,26 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) case WM_LBUTTONDOWN: { /* Clear the old selection */ - // UpdateSelection(GuiData, NULL); GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; /* Restart a new selection */ - GuiData->Selection.dwSelectionAnchor = PointToCoord(GuiData, lParam); + GuiData->dwSelectionCursor = PointToCoord(GuiData, lParam); SetCapture(GuiData->hWindow); GuiData->Selection.dwFlags |= CONSOLE_MOUSE_SELECTION | CONSOLE_MOUSE_DOWN; - UpdateSelection(GuiData, &GuiData->Selection.dwSelectionAnchor); + UpdateSelection(GuiData, + &GuiData->dwSelectionCursor, + &GuiData->dwSelectionCursor); break; } case WM_LBUTTONUP: { - // COORD c; - if (!(GuiData->Selection.dwFlags & CONSOLE_MOUSE_DOWN)) break; - // c = PointToCoord(GuiData, lParam); + // GuiData->dwSelectionCursor = PointToCoord(GuiData, lParam); GuiData->Selection.dwFlags &= ~CONSOLE_MOUSE_DOWN; - // UpdateSelection(GuiData, &c); + // UpdateSelection(GuiData, NULL, &GuiData->dwSelectionCursor); ReleaseCapture(); break; @@ -1349,11 +1492,8 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) * Update the selection started with the single * left-click that preceded this double-click. */ - GuiData->Selection.dwSelectionAnchor = cL; - GuiData->dwSelectionCursor = cR; - GuiData->Selection.dwFlags |= CONSOLE_MOUSE_SELECTION | CONSOLE_MOUSE_DOWN; - UpdateSelection(GuiData, &GuiData->dwSelectionCursor); + UpdateSelection(GuiData, &cL, &cR); /* Ignore the next mouse move signal */ GuiData->IgnoreNextMouseSignal = TRUE; @@ -1381,13 +1521,12 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam) case WM_MOUSEMOVE: { - COORD c; - if (!(wParam & MK_LBUTTON)) break; if (!(GuiData->Selection.dwFlags & CONSOLE_MOUSE_DOWN)) break; - c = PointToCoord(GuiData, lParam); /* TODO: Scroll buffer to bring c into view */ - UpdateSelection(GuiData, &c); + // TODO: Scroll buffer to bring SelectionCursor into view + GuiData->dwSelectionCursor = PointToCoord(GuiData, lParam); + UpdateSelection(GuiData, NULL, &GuiData->dwSelectionCursor); break; } @@ -1557,7 +1696,7 @@ Copy(PGUI_CONSOLE_DATA GuiData) } /* Clear the selection */ - UpdateSelection(GuiData, NULL); + UpdateSelection(GuiData, NULL, NULL); } VOID diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.h b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.h index a6be0cf1146..f6caa6d57f5 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.h +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.h @@ -65,6 +65,7 @@ typedef struct _GUI_CONSOLE_DATA PCONSOLE_SCREEN_BUFFER ActiveBuffer; /* Pointer to the active screen buffer (then maybe the previous Console member is redundant?? Or not...) */ CONSOLE_SELECTION_INFO Selection; /* Contains information about the selection */ COORD dwSelectionCursor; /* Selection cursor position, most of the time different from Selection.dwSelectionAnchor */ + BOOL LineSelection; /* TRUE if line-oriented selection (a la *nix terminals), FALSE if block-oriented selection (default on Windows) */ GUI_CONSOLE_INFO GuiInfo; /* GUI terminal settings */ } GUI_CONSOLE_DATA, *PGUI_CONSOLE_DATA; diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c index 2de3b11ffd8..feb128bd19e 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c @@ -18,6 +18,10 @@ #include "guiterm.h" +/* GLOBALS ********************************************************************/ + +#define IS_WHITESPACE(c) ((c) == L'\0' || (c) == L' ' || (c) == L'\t') + /* FUNCTIONS ******************************************************************/ COLORREF PaletteRGBFromAttrib(PCONSOLE Console, WORD Attribute) @@ -31,35 +35,33 @@ COLORREF PaletteRGBFromAttrib(PCONSOLE Console, WORD Attribute) return PALETTERGB(pe.peRed, pe.peGreen, pe.peBlue); } -VOID -GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, - PGUI_CONSOLE_DATA GuiData) +static VOID +CopyBlock(PTEXTMODE_SCREEN_BUFFER Buffer, + PSMALL_RECT Selection) { - /* - * This function supposes that the system clipboard was opened. - */ - /* * Pressing the Shift key while copying text, allows us to copy * text without newline characters (inline-text copy mode). */ - BOOL InlineCopyMode = (GetKeyState(VK_SHIFT) & 0x8000); + BOOL InlineCopyMode = !!(GetKeyState(VK_SHIFT) & 0x8000); HANDLE hData; PCHAR_INFO ptr; LPWSTR data, dstPos; ULONG selWidth, selHeight; - ULONG xPos, yPos, size; + ULONG xPos, yPos; + ULONG size; - selWidth = GuiData->Selection.srSelection.Right - GuiData->Selection.srSelection.Left + 1; - selHeight = GuiData->Selection.srSelection.Bottom - GuiData->Selection.srSelection.Top + 1; - DPRINT("Selection is (%d|%d) to (%d|%d)\n", - GuiData->Selection.srSelection.Left, - GuiData->Selection.srSelection.Top, - GuiData->Selection.srSelection.Right, - GuiData->Selection.srSelection.Bottom); + DPRINT("CopyBlock(%u, %u, %u, %u)\n", + Selection->Left, Selection->Top, Selection->Right, Selection->Bottom); -#define IS_WHITESPACE(c) ((c) == L'\0' || (c) == L' ' || (c) == L'\t') + /* Prevent against empty blocks */ + if (Selection == NULL) return; + if (Selection->Left > Selection->Right || Selection->Top > Selection->Bottom) + return; + + selWidth = Selection->Right - Selection->Left + 1; + selHeight = Selection->Bottom - Selection->Top + 1; /* Basic size for one line... */ size = selWidth; @@ -72,6 +74,11 @@ GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, */ size += (selWidth + (!InlineCopyMode ? 2 : 0)) * (selHeight - 1); } + else + { + DPRINT1("This case must never happen, because selHeight is at least == 1\n"); + } + size += 1; /* Null-termination */ size *= sizeof(WCHAR); @@ -94,8 +101,8 @@ GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, ULONG length = selWidth; ptr = ConioCoordToPointer(Buffer, - GuiData->Selection.srSelection.Left, - GuiData->Selection.srSelection.Top + yPos); + Selection->Left, + Selection->Top + yPos); /* Trim whitespace from the right */ while (length > 0) @@ -113,16 +120,15 @@ GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, * Sometimes, applications can put NULL chars into the screen-buffer * (this behaviour is allowed). Detect this and replace by a space. */ - dstPos[xPos] = (ptr[xPos].Char.UnicodeChar ? ptr[xPos].Char.UnicodeChar : L' '); + *dstPos++ = (ptr[xPos].Char.UnicodeChar ? ptr[xPos].Char.UnicodeChar : L' '); } - dstPos += length; /* Add newline characters if we are not in inline-text copy mode */ if (!InlineCopyMode) { if (yPos != (selHeight - 1)) { - wcscat(data, L"\r\n"); + wcscat(dstPos, L"\r\n"); dstPos += 2; } } @@ -135,6 +141,128 @@ GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, SetClipboardData(CF_UNICODETEXT, hData); } +static VOID +CopyLines(PTEXTMODE_SCREEN_BUFFER Buffer, + PCOORD Begin, + PCOORD End) +{ + HANDLE hData; + PCHAR_INFO ptr; + LPWSTR data, dstPos; + ULONG NumChars, size; + ULONG xPos, yPos, xBeg, xEnd; + + DPRINT("CopyLines((%u, %u) ; (%u, %u))\n", + Begin->X, Begin->Y, End->X, End->Y); + + /* Prevent against empty blocks... */ + if (Begin == NULL || End == NULL) return; + /* ... or malformed blocks */ + if (Begin->Y > End->Y || (Begin->Y == End->Y && Begin->X > End->X)) return; + + /* Compute the number of characters to copy */ + if (End->Y == Begin->Y) // top == bottom + { + NumChars = End->X - Begin->X + 1; + } + else // if (End->Y > Begin->Y) + { + NumChars = (Buffer->ScreenBufferSize.X - 1) - (Begin->X) + 1; + + if (Begin->Y + 1 <= End->Y - 1) + { + NumChars += ( (Buffer->ScreenBufferSize.X - 1) + 1 ) * + ( (End->Y - 1) - (Begin->Y + 1) + 1); + } + + NumChars += End->X + 1; + } + + size = (NumChars + 1) * sizeof(WCHAR); /* Null-terminated */ + + /* Allocate some memory area to be given to the clipboard, so it will not be freed here */ + hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, size); + if (hData == NULL) return; + + data = GlobalLock(hData); + if (data == NULL) + { + GlobalFree(hData); + return; + } + + DPRINT("Copying %d characters\n", NumChars); + dstPos = data; + + /* + * We need to walk per-lines, and not just looping in the big screen-buffer + * array, because of the way things are stored inside it. The downside is + * that it makes the code more complicated. + */ + for (yPos = Begin->Y; (yPos <= End->Y) && (NumChars > 0); yPos++) + { + xBeg = (yPos == Begin->Y ? Begin->X : 0); + xEnd = (yPos == End->Y ? End->X : Buffer->ScreenBufferSize.X - 1); + + ptr = ConioCoordToPointer(Buffer, xBeg, yPos); + + /* Copy only the characters, leave attributes alone */ + for (xPos = xBeg; (xPos <= xEnd) && (NumChars-- > 0); xPos++) + { + /* + * Sometimes, applications can put NULL chars into the screen-buffer + * (this behaviour is allowed). Detect this and replace by a space. + */ + *dstPos++ = (ptr[xPos].Char.UnicodeChar ? ptr[xPos].Char.UnicodeChar : L' '); + } + } + + DPRINT("Setting data <%S> to clipboard\n", data); + GlobalUnlock(hData); + + EmptyClipboard(); + SetClipboardData(CF_UNICODETEXT, hData); +} + + +VOID +GetSelectionBeginEnd(PCOORD Begin, PCOORD End, + PCOORD SelectionAnchor, + PSMALL_RECT SmallRect); + +VOID +GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, + PGUI_CONSOLE_DATA GuiData) +{ + /* + * This function supposes that the system clipboard was opened. + */ + + BOOL LineSelection = GuiData->LineSelection; + + DPRINT("Selection is (%d|%d) to (%d|%d) in %s mode\n", + GuiData->Selection.srSelection.Left, + GuiData->Selection.srSelection.Top, + GuiData->Selection.srSelection.Right, + GuiData->Selection.srSelection.Bottom, + (LineSelection ? "line" : "block")); + + if (!LineSelection) + { + CopyBlock(Buffer, &GuiData->Selection.srSelection); + } + else + { + COORD Begin, End; + + GetSelectionBeginEnd(&Begin, &End, + &GuiData->Selection.dwSelectionAnchor, + &GuiData->Selection.srSelection); + + CopyLines(Buffer, &Begin, &End); + } +} + VOID GuiPasteToTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, PGUI_CONSOLE_DATA GuiData) From cd934cf648baded42d292b6f0719280f6c29f229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 8 Jun 2014 17:36:12 +0000 Subject: [PATCH 048/120] Simplify the math. svn path=/trunk/; revision=63560 --- reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c index feb128bd19e..b3caf59ef89 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c @@ -167,12 +167,11 @@ CopyLines(PTEXTMODE_SCREEN_BUFFER Buffer, } else // if (End->Y > Begin->Y) { - NumChars = (Buffer->ScreenBufferSize.X - 1) - (Begin->X) + 1; + NumChars = Buffer->ScreenBufferSize.X - Begin->X; - if (Begin->Y + 1 <= End->Y - 1) + if (End->Y >= Begin->Y + 2) { - NumChars += ( (Buffer->ScreenBufferSize.X - 1) + 1 ) * - ( (End->Y - 1) - (Begin->Y + 1) + 1); + NumChars += (End->Y - Begin->Y - 1) * Buffer->ScreenBufferSize.X; } NumChars += End->X + 1; From 3004134b74d8062fb3732036274f5fe4ef1e94f3 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 17:51:38 +0000 Subject: [PATCH 049/120] [SHELL32] * Introduce vista.c to copy RegLoadMUIString related functions. If you think you're having a deja-vu, you are (r58809). * Use SHCopyKeyW instead of RegCopyTreeW and mark that it doesn't copy the security attributes of the keys. CORE-8174 svn path=/trunk/; revision=63561 --- reactos/dll/win32/shell32/CMakeLists.txt | 1 + reactos/dll/win32/shell32/openwithmenu.cpp | 5 +- reactos/dll/win32/shell32/vista.c | 220 +++++++++++++++++++++ 3 files changed, 224 insertions(+), 2 deletions(-) create mode 100644 reactos/dll/win32/shell32/vista.c diff --git a/reactos/dll/win32/shell32/CMakeLists.txt b/reactos/dll/win32/shell32/CMakeLists.txt index b59b679eb28..21a7b06bb92 100644 --- a/reactos/dll/win32/shell32/CMakeLists.txt +++ b/reactos/dll/win32/shell32/CMakeLists.txt @@ -77,6 +77,7 @@ list(APPEND SOURCE add_library(shell32 SHARED ${SOURCE} + vista.c shell32.rc ${CMAKE_CURRENT_BINARY_DIR}/shell32_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/shell32.def) diff --git a/reactos/dll/win32/shell32/openwithmenu.cpp b/reactos/dll/win32/shell32/openwithmenu.cpp index 02e5b9fd8c4..a2033f819c6 100644 --- a/reactos/dll/win32/shell32/openwithmenu.cpp +++ b/reactos/dll/win32/shell32/openwithmenu.cpp @@ -754,14 +754,15 @@ BOOL COpenWithList::SetDefaultHandler(SApp *pApp, LPCWSTR pwszFilename) } /* Copy static verbs from Classes\Applications key */ - LONG Result = RegCopyTreeW(hSrcKey, NULL, hDestKey); + /* FIXME: SHCopyKey does not copy the security attributes of the keys */ + LSTATUS Result = SHCopyKeyW(hSrcKey, NULL, hDestKey, 0); RegCloseKey(hDestKey); RegCloseKey(hSrcKey); RegCloseKey(hKey); if (Result != ERROR_SUCCESS) { - ERR("RegCopyTreeW failed\n"); + ERR("SHCopyKeyW failed\n"); return FALSE; } diff --git a/reactos/dll/win32/shell32/vista.c b/reactos/dll/win32/shell32/vista.c new file mode 100644 index 00000000000..93ec06c07b4 --- /dev/null +++ b/reactos/dll/win32/shell32/vista.c @@ -0,0 +1,220 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS system libraries + * FILE: Copied from advapi32/reg/reg.c + * PURPOSE: Registry functions + * PROGRAMMER: Ariadne ( ariadne@xs4all.nl) + * Thomas Weidenmueller + * UPDATE HISTORY: + * Created 01/11/98 + * 19990309 EA Stubs + * 20050502 Fireball imported some stuff from WINE + */ + +/* FIXME: This file should go away once we properly handle Vista+ APIs */ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#define NTOS_MODE_USER +#include + +#include +#include + +WINE_DEFAULT_DEBUG_CHANNEL(shell); + +/****************************************************************************** + * load_string [Internal] + * + * This is basically a copy of user32/resource.c's LoadStringW. Necessary to + * avoid importing user32, which is higher level than advapi32. Helper for + * RegLoadMUIString. + */ +static int load_string(HINSTANCE hModule, UINT resId, LPWSTR pwszBuffer, INT cMaxChars) +{ + HGLOBAL hMemory; + HRSRC hResource; + WCHAR *pString; + int idxString; + + /* Negative values have to be inverted. */ + if (HIWORD(resId) == 0xffff) + resId = (UINT)(-((INT)resId)); + + /* Load the resource into memory and get a pointer to it. */ + hResource = FindResourceW(hModule, MAKEINTRESOURCEW(LOWORD(resId >> 4) + 1), (LPWSTR)RT_STRING); + if (!hResource) return 0; + hMemory = LoadResource(hModule, hResource); + if (!hMemory) return 0; + pString = LockResource(hMemory); + + /* Strings are length-prefixed. Lowest nibble of resId is an index. */ + idxString = resId & 0xf; + while (idxString--) pString += *pString + 1; + + /* If no buffer is given, return length of the string. */ + if (!pwszBuffer) return *pString; + + /* Else copy over the string, respecting the buffer size. */ + cMaxChars = (*pString < cMaxChars) ? *pString : (cMaxChars - 1); + if (cMaxChars >= 0) + { + memcpy(pwszBuffer, pString+1, cMaxChars * sizeof(WCHAR)); + pwszBuffer[cMaxChars] = L'\0'; + } + + return cMaxChars; +} + +/************************************************************************ + * RegLoadMUIStringW + * + * @implemented + */ +LONG WINAPI +RegLoadMUIStringW(IN HKEY hKey, + IN LPCWSTR pszValue OPTIONAL, + OUT LPWSTR pszOutBuf, + IN DWORD cbOutBuf, + OUT LPDWORD pcbData OPTIONAL, + IN DWORD Flags, + IN LPCWSTR pszDirectory OPTIONAL) +{ + DWORD dwValueType, cbData; + LPWSTR pwszTempBuffer = NULL, pwszExpandedBuffer = NULL; + LONG result; + + /* Parameter sanity checks. */ + if (!hKey || !pszOutBuf) + return ERROR_INVALID_PARAMETER; + + if (pszDirectory && *pszDirectory) + { + FIXME("BaseDir parameter not yet supported!\n"); + return ERROR_INVALID_PARAMETER; + } + + /* Check for value existence and correctness of it's type, allocate a buffer and load it. */ + result = RegQueryValueExW(hKey, pszValue, NULL, &dwValueType, NULL, &cbData); + if (result != ERROR_SUCCESS) goto cleanup; + if (!(dwValueType == REG_SZ || dwValueType == REG_EXPAND_SZ) || !cbData) + { + result = ERROR_FILE_NOT_FOUND; + goto cleanup; + } + pwszTempBuffer = HeapAlloc(GetProcessHeap(), 0, cbData); + if (!pwszTempBuffer) + { + result = ERROR_NOT_ENOUGH_MEMORY; + goto cleanup; + } + result = RegQueryValueExW(hKey, pszValue, NULL, &dwValueType, (LPBYTE)pwszTempBuffer, &cbData); + if (result != ERROR_SUCCESS) goto cleanup; + + /* Expand environment variables, if appropriate, or copy the original string over. */ + if (dwValueType == REG_EXPAND_SZ) + { + cbData = ExpandEnvironmentStringsW(pwszTempBuffer, NULL, 0) * sizeof(WCHAR); + if (!cbData) goto cleanup; + pwszExpandedBuffer = HeapAlloc(GetProcessHeap(), 0, cbData); + if (!pwszExpandedBuffer) + { + result = ERROR_NOT_ENOUGH_MEMORY; + goto cleanup; + } + ExpandEnvironmentStringsW(pwszTempBuffer, pwszExpandedBuffer, cbData); + } + else + { + pwszExpandedBuffer = HeapAlloc(GetProcessHeap(), 0, cbData); + memcpy(pwszExpandedBuffer, pwszTempBuffer, cbData); + } + + /* If the value references a resource based string, parse the value and load the string. + * Else just copy over the original value. */ + result = ERROR_SUCCESS; + if (*pwszExpandedBuffer != L'@') /* '@' is the prefix for resource based string entries. */ + { + lstrcpynW(pszOutBuf, pwszExpandedBuffer, cbOutBuf / sizeof(WCHAR)); + } + else + { + WCHAR *pComma = wcsrchr(pwszExpandedBuffer, L','); + UINT uiStringId; + HMODULE hModule; + + /* Format of the expanded value is 'path_to_dll,-resId' */ + if (!pComma || pComma[1] != L'-') + { + result = ERROR_BADKEY; + goto cleanup; + } + + uiStringId = _wtoi(pComma+2); + *pComma = L'\0'; + + hModule = LoadLibraryExW(pwszExpandedBuffer + 1, NULL, LOAD_LIBRARY_AS_DATAFILE); + if (!hModule || !load_string(hModule, uiStringId, pszOutBuf, cbOutBuf / sizeof(WCHAR))) + result = ERROR_BADKEY; + FreeLibrary(hModule); + } + +cleanup: + HeapFree(GetProcessHeap(), 0, pwszTempBuffer); + HeapFree(GetProcessHeap(), 0, pwszExpandedBuffer); + return result; +} + +/************************************************************************ + * RegLoadMUIStringA + * + * @implemented + */ +LONG WINAPI +RegLoadMUIStringA(IN HKEY hKey, + IN LPCSTR pszValue OPTIONAL, + OUT LPSTR pszOutBuf, + IN DWORD cbOutBuf, + OUT LPDWORD pcbData OPTIONAL, + IN DWORD Flags, + IN LPCSTR pszDirectory OPTIONAL) +{ + UNICODE_STRING valueW, baseDirW; + WCHAR *pwszBuffer; + DWORD cbData = cbOutBuf * sizeof(WCHAR); + LONG result; + + valueW.Buffer = baseDirW.Buffer = pwszBuffer = NULL; + if (!RtlCreateUnicodeStringFromAsciiz(&valueW, pszValue) || + !RtlCreateUnicodeStringFromAsciiz(&baseDirW, pszDirectory) || + !(pwszBuffer = HeapAlloc(GetProcessHeap(), 0, cbData))) + { + result = ERROR_NOT_ENOUGH_MEMORY; + goto cleanup; + } + + result = RegLoadMUIStringW(hKey, valueW.Buffer, pwszBuffer, cbData, NULL, Flags, + baseDirW.Buffer); + + if (result == ERROR_SUCCESS) + { + cbData = WideCharToMultiByte(CP_ACP, 0, pwszBuffer, -1, pszOutBuf, cbOutBuf, NULL, NULL); + if (pcbData) + *pcbData = cbData; + } + +cleanup: + HeapFree(GetProcessHeap(), 0, pwszBuffer); + RtlFreeUnicodeString(&baseDirW); + RtlFreeUnicodeString(&valueW); + + return result; +} From fa8ca9750f55d3f70256260b32be880c722753e3 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 17:56:18 +0000 Subject: [PATCH 050/120] [WINDOWSCODECS] * Do not rely on RegDeleteTreeW which shouldn't be exported. CORE-8174 svn path=/trunk/; revision=63562 --- reactos/dll/win32/windowscodecs/regsvr.c | 26 +++++++++++++----------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/reactos/dll/win32/windowscodecs/regsvr.c b/reactos/dll/win32/windowscodecs/regsvr.c index 3a6bc60b0b7..0ca18c0be31 100644 --- a/reactos/dll/win32/windowscodecs/regsvr.c +++ b/reactos/dll/win32/windowscodecs/regsvr.c @@ -18,6 +18,8 @@ #include "wincodecs_private.h" +#include + /*********************************************************************** * interface for self-registering */ @@ -374,11 +376,11 @@ static HRESULT unregister_decoders(struct regsvr_decoder const *list) for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39); - res = RegDeleteTreeW(coclass_key, buf); + res = SHDeleteKeyW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; - res = RegDeleteTreeW(instance_key, buf); + res = SHDeleteKeyW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -552,11 +554,11 @@ static HRESULT unregister_encoders(struct regsvr_encoder const *list) for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39); - res = RegDeleteTreeW(coclass_key, buf); + res = SHDeleteKeyW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; - res = RegDeleteTreeW(instance_key, buf); + res = SHDeleteKeyW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -709,11 +711,11 @@ static HRESULT unregister_converters(struct regsvr_converter const *list) for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39); - res = RegDeleteTreeW(coclass_key, buf); + res = SHDeleteKeyW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; - res = RegDeleteTreeW(instance_key, buf); + res = SHDeleteKeyW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -919,11 +921,11 @@ static HRESULT unregister_metadatareaders(struct regsvr_metadatareader const *li for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39); - res = RegDeleteTreeW(coclass_key, buf); + res = SHDeleteKeyW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; - res = RegDeleteTreeW(instance_key, buf); + res = SHDeleteKeyW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -1094,11 +1096,11 @@ static HRESULT unregister_pixelformats(struct regsvr_pixelformat const *list) for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39); - res = RegDeleteTreeW(coclass_key, buf); + res = SHDeleteKeyW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; - res = RegDeleteTreeW(instance_key, buf); + res = SHDeleteKeyW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -2009,14 +2011,14 @@ static HRESULT unregister_categories(const struct regsvr_category *list) for (; res == ERROR_SUCCESS && list->clsid; list++) { StringFromGUID2(list->clsid, buf, 39); - res = RegDeleteTreeW(instance_key, buf); + res = SHDeleteKeyW(instance_key, buf); } RegCloseKey(instance_key); RegCloseKey(categories_key); StringFromGUID2(&CLSID_WICImagingCategories, buf, 39); - res = RegDeleteTreeW(coclass_key, buf); + res = SHDeleteKeyW(coclass_key, buf); RegCloseKey(coclass_key); From a40b302a0351ca30ca5a6c82637e98ba1f519ff1 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sun, 8 Jun 2014 17:56:28 +0000 Subject: [PATCH 051/120] [Win32k] - Fix functions. Old patch from 2009. svn path=/trunk/; revision=63563 --- reactos/win32ss/user/ntuser/painting.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/reactos/win32ss/user/ntuser/painting.c b/reactos/win32ss/user/ntuser/painting.c index 72e6287c092..4259a0b3385 100644 --- a/reactos/win32ss/user/ntuser/painting.c +++ b/reactos/win32ss/user/ntuser/painting.c @@ -2141,7 +2141,13 @@ NtUserInvalidateRect( CONST RECT *lpUnsafeRect, BOOL bErase) { - return NtUserRedrawWindow(hWnd, lpUnsafeRect, NULL, RDW_INVALIDATE | (bErase? RDW_ERASE : 0)); + UINT flags = RDW_INVALIDATE | (bErase ? RDW_ERASE : 0); + if (!hWnd) + { + flags = RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_FRAME | RDW_ERASE | RDW_ERASENOW; + lpUnsafeRect = NULL; + } + return NtUserRedrawWindow(hWnd, lpUnsafeRect, NULL, flags); } BOOL @@ -2151,6 +2157,11 @@ NtUserInvalidateRgn( HRGN hRgn, BOOL bErase) { + if (!hWnd) + { + EngSetLastError( ERROR_INVALID_WINDOW_HANDLE ); + return FALSE; + } return NtUserRedrawWindow(hWnd, NULL, hRgn, RDW_INVALIDATE | (bErase? RDW_ERASE : 0)); } @@ -2197,11 +2208,13 @@ NtUserValidateRect( HWND hWnd, const RECT *lpRect) { - if (hWnd) + UINT flags = RDW_VALIDATE; + if (!hWnd) { - return NtUserRedrawWindow(hWnd, lpRect, NULL, RDW_VALIDATE ); + flags = RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_FRAME | RDW_ERASE | RDW_ERASENOW; + lpRect = NULL; } - return NtUserRedrawWindow(hWnd, lpRect, NULL, RDW_INVALIDATE|RDW_ERASE|RDW_ERASENOW|RDW_ALLCHILDREN); + return NtUserRedrawWindow(hWnd, lpRect, NULL, flags); } /* EOF */ From 53581dcf0bb1c631e1c4dfaf47b3be29baaa8252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 8 Jun 2014 18:06:14 +0000 Subject: [PATCH 052/120] [CONSRV] - Silence a DPRINT. - Properly initialize the selection. svn path=/trunk/; revision=63564 --- reactos/win32ss/user/winsrv/consrv/frontends/gui/graphics.c | 2 +- reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/graphics.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/graphics.c index 730ed130cb6..37111b3f415 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/graphics.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/graphics.c @@ -34,7 +34,7 @@ GuiCopyFromGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer, selWidth = GuiData->Selection.srSelection.Right - GuiData->Selection.srSelection.Left + 1; selHeight = GuiData->Selection.srSelection.Bottom - GuiData->Selection.srSelection.Top + 1; - DPRINT1("Selection is (%d|%d) to (%d|%d)\n", + DPRINT("Selection is (%d|%d) to (%d|%d)\n", GuiData->Selection.srSelection.Left, GuiData->Selection.srSelection.Top, GuiData->Selection.srSelection.Right, diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c index e56e4c5e25a..023456c179a 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c @@ -533,8 +533,11 @@ GuiInitFrontEnd(IN OUT PFRONTEND This, GuiData->CmdIdLow = GuiData->CmdIdHigh = 0; /* Initialize the selection */ - RtlZeroMemory(&GuiData->Selection, sizeof(CONSOLE_SELECTION_INFO)); + RtlZeroMemory(&GuiData->Selection, sizeof(GuiData->Selection)); GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; + RtlZeroMemory(&GuiData->dwSelectionCursor, sizeof(GuiData->dwSelectionCursor)); + GuiData->LineSelection = FALSE; // Default to block selection + // TODO: Retrieve the selection mode via the registry. /* * We need to wait until the GUI has been fully initialized From 70c282c0a9c2a9f170471335c800d358430ddaf0 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 18:08:50 +0000 Subject: [PATCH 053/120] [REACTOS/IDL] * Unfortunately widl seems to generate declarations for functions even when they're wrapped with version related cpp quotes, so hand this block to SVN for now. CORE-8174 svn path=/trunk/; revision=63565 --- reactos/include/reactos/idl/pnp.idl | 67 ----------------------------- 1 file changed, 67 deletions(-) diff --git a/reactos/include/reactos/idl/pnp.idl b/reactos/include/reactos/idl/pnp.idl index 62473d6dadb..49e4943883a 100644 --- a/reactos/include/reactos/idl/pnp.idl +++ b/reactos/include/reactos/idl/pnp.idl @@ -792,73 +792,6 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501") [out] DWORD *pulSSDIFlags, [in] DWORD ulFlags); -cpp_quote("#if _WIN32_WINNT >= 0x0600") - - /* Function 65 */ - DWORD PNP_GetObjectPropKeys( - [in] handle_t hBinding, - [in, string, ref] LPWSTR ObjectName, - [in] DWORD ObjectType, - [in, string, unique] LPWSTR PropertyCultureName, - [in, out] PNP_PROP_COUNT *PropertyCount, - [out] PNP_PROP_COUNT *TransferLen, - [out, size_is(*PropertyCount), length_is(*TransferLen)] DEVPROPKEY *PropertyKeys, - [in] DWORD Flags); - - /* Function 66 */ - DWORD PNP_GetObjectProp( - [in] handle_t hBinding, - [in, string, ref] LPWSTR ObjectName, - [in] DWORD ObjectType, - [in, string, unique] LPWSTR PropertyCultureName, - [in] const DEVPROPKEY *PropertyKey, - [out] DEVPROPTYPE *PropertyType, - [in, out] PNP_PROP_SIZE *PropertySize, - [out] PNP_PROP_SIZE *TransferLen, - [out, size_is(*PropertySize), length_is(*TransferLen)] BYTE *PropertyBuffer, - [in] DWORD Flags); - - /* Function 67 */ - DWORD PNP_SetObjectProp( - [in] handle_t hBinding, - [in, string, ref] LPWSTR ObjectName, - [in] DWORD ObjectType, - [in, string, unique] LPWSTR PropertyCultureName, - [in] const DEVPROPKEY *PropertyKey, - [in] DEVPROPTYPE PropertyType, - [in] PNP_PROP_SIZE PropertySize, - [in, unique, size_is(PropertySize)] BYTE *PropertyBuffer, - [in] DWORD Flags); - - /* Function 68 */ - DWORD PNP_InstallDevInst( - [in] handle_t hBinding); /* FIXME */ - - /* Function 69 */ - DWORD PNP_ApplyPowerSettings( - [in] handle_t hBinding); /* FIXME */ - - /* Function 70 */ - DWORD PNP_DriverStoreAddDriverPackage( - [in] handle_t hBinding); /* FIXME */ - - /* Function 71 */ - DWORD PNP_DriverStoreDeleteDriverPackage( - [in] handle_t hBinding); /* FIXME */ - - /* Function 72 */ - DWORD PNP_RegisterServiceNotification( - [in] handle_t hBinding); /* FIXME */ - - /* Function 73 */ - DWORD PNP_SetActiveService( - [in] handle_t hBinding); /* FIXME */ - - /* Function 74 */ - DWORD PNP_DeleteServiceDevices( - [in] handle_t hBinding); /* FIXME */ - -cpp_quote("#endif /* WIN32_WINNT >= 0x0600 */") cpp_quote("#endif /* WIN32_WINNT >= 0x0501 */") } From d443d916e60dbbea6674b0be335c7fd4791d5bd5 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 18:10:04 +0000 Subject: [PATCH 054/120] [UMPNPMGR] * Do not rely on RegDeleteTreeW which shouldn't be exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63566 --- reactos/base/services/umpnpmgr/CMakeLists.txt | 5 +---- reactos/base/services/umpnpmgr/umpnpmgr.c | 3 ++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/reactos/base/services/umpnpmgr/CMakeLists.txt b/reactos/base/services/umpnpmgr/CMakeLists.txt index 958fad22c1b..9667d98d88f 100644 --- a/reactos/base/services/umpnpmgr/CMakeLists.txt +++ b/reactos/base/services/umpnpmgr/CMakeLists.txt @@ -1,9 +1,6 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/idl) -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/pnp.idl) @@ -17,5 +14,5 @@ target_link_libraries(umpnpmgr ${PSEH_LIB}) set_module_type(umpnpmgr win32cui UNICODE) -add_importlibs(umpnpmgr advapi32 rpcrt4 userenv msvcrt kernel32 ntdll) +add_importlibs(umpnpmgr advapi32 rpcrt4 userenv shlwapi msvcrt kernel32 ntdll) add_cd_file(TARGET umpnpmgr DESTINATION reactos/system32 FOR all) diff --git a/reactos/base/services/umpnpmgr/umpnpmgr.c b/reactos/base/services/umpnpmgr/umpnpmgr.c index f683e9f5b40..d8fbfa7a5a0 100644 --- a/reactos/base/services/umpnpmgr/umpnpmgr.c +++ b/reactos/base/services/umpnpmgr/umpnpmgr.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #define NDEBUG @@ -1142,7 +1143,7 @@ DWORD PNP_DeleteClassKey( if (ulFlags & CM_DELETE_CLASS_SUBKEYS) { - if (RegDeleteTreeW(hClassKey, pszClassGuid) != ERROR_SUCCESS) + if (SHDeleteKeyW(hClassKey, pszClassGuid) != ERROR_SUCCESS) ret = CR_REGISTRY_ERROR; } else From 983a3ff5cae9ff69f5b4827821939b186ca59d11 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 18:13:10 +0000 Subject: [PATCH 055/120] [ADVAPI32] * Reorder some exports, remove some commented out ones, add some missing ones and remove the ones that do not exist in native. CORE-8174 svn path=/trunk/; revision=63567 --- reactos/dll/win32/advapi32/advapi32.spec | 38 +++++------------------- 1 file changed, 8 insertions(+), 30 deletions(-) diff --git a/reactos/dll/win32/advapi32/advapi32.spec b/reactos/dll/win32/advapi32/advapi32.spec index e3abe3b3c2e..36f658c3b94 100644 --- a/reactos/dll/win32/advapi32/advapi32.spec +++ b/reactos/dll/win32/advapi32/advapi32.spec @@ -1,3 +1,4 @@ +@ stub I_ScGetCurrentGroupStateW @ stdcall A_SHAFinal(ptr ptr) @ stdcall A_SHAInit(ptr) @ stdcall A_SHAUpdate(ptr ptr long) @@ -24,7 +25,6 @@ @ stdcall AddAuditAccessAce(ptr long long ptr long long) @ stdcall AddAuditAccessAceEx(ptr long long long ptr long long) @ stdcall AddAuditAccessObjectAce(ptr long long long ptr ptr ptr long long) -;@ stdcall AddMandatoryAce(ptr long long long ptr) @ stdcall AddUsersToEncryptedFile(wstr ptr) @ stdcall AdjustTokenGroups(long long ptr long ptr ptr) @ stdcall AdjustTokenPrivileges(long long ptr long ptr ptr) @@ -66,7 +66,6 @@ @ stdcall CommandLineFromMsiDescriptor(wstr ptr ptr) @ stub ComputeAccessTokenFromCodeAuthzLevel @ stdcall ControlService(long long ptr) -@ stdcall ControlServiceEx(ptr long long ptr) @ stdcall ControlTraceA(double str ptr long) @ stdcall ControlTraceW(double wstr ptr long) @ stub ConvertAccessToSecurityDescriptorA @@ -96,7 +95,6 @@ @ stdcall CreatePrivateObjectSecurityEx(ptr ptr ptr ptr long long ptr ptr) @ stdcall CreatePrivateObjectSecurityWithMultipleInheritance(ptr ptr ptr ptr long long long ptr ptr) @ stdcall CreateProcessAsUserA(long str str ptr ptr long long ptr str ptr ptr) -# @ stub CreateProcessAsUserSecure @ stdcall CreateProcessAsUserW(long str str ptr ptr long long ptr str ptr ptr) @ stdcall CreateProcessWithLogonW(wstr wstr wstr long wstr wstr long ptr wstr ptr ptr) @ stdcall CreateProcessWithTokenW(ptr long wstr wstr long ptr wstr ptr ptr) @@ -189,7 +187,6 @@ @ stub ElfClearEventLogFileW @ stub ElfCloseEventLog @ stub ElfDeregisterEventSource -@ stub ElfDeregisterEventSourceW @ stub ElfFlushEventLog @ stub ElfNumberOfRecords @ stub ElfOldestRecord @@ -202,6 +199,7 @@ @ stub ElfRegisterEventSourceA @ stub ElfRegisterEventSourceW @ stub ElfReportEventA +# ElfReportEventAndSourceW @ stub ElfReportEventW @ stdcall EnableTrace(long long long ptr double) @ stdcall EncryptFileA(str) @@ -210,7 +208,6 @@ @ stdcall EncryptionDisable(wstr long) @ stdcall EnumDependentServicesA(long long ptr long ptr ptr) @ stdcall EnumDependentServicesW(long long ptr long ptr ptr) -@ stub EnumServiceGroupA @ stdcall EnumServiceGroupW(ptr long long ptr long ptr ptr ptr wstr) @ stdcall EnumServicesStatusA(long long long ptr long ptr ptr ptr) @ stdcall EnumServicesStatusExA(long long long long ptr long ptr ptr ptr str) @@ -254,7 +251,6 @@ @ stub GetLocalManagedApplications @ stub GetManagedApplicationCategories @ stub GetManagedApplications -@ stub GetMangledSiteSid @ stdcall GetMultipleTrusteeA(ptr) @ stdcall GetMultipleTrusteeOperationA(ptr) @ stdcall GetMultipleTrusteeOperationW(ptr) @@ -285,7 +281,6 @@ @ stdcall GetSidLengthRequired(long) @ stdcall GetSidSubAuthority(ptr long) @ stdcall GetSidSubAuthorityCount(ptr) -@ stdcall GetSiteSidFromToken(ptr) @ stdcall GetTokenInformation(long long ptr long ptr) @ stdcall GetTraceEnableFlags(double) @ stdcall GetTraceEnableLevel(double) @@ -299,11 +294,10 @@ @ stdcall GetUserNameA(ptr ptr) @ stdcall GetUserNameW(ptr ptr) @ stdcall GetWindowsAccountDomainSid(ptr ptr ptr) -@ stub I_ScGetCurrentGroupStateW +# I_QueryTagInformation @ stub I_ScIsSecurityProcess @ stub I_ScPnPGetServiceName @ stub I_ScSendTSMessage -@ stub I_ScSetServiceBit @ stdcall I_ScSetServiceBitsA(ptr long long long str) @ stdcall I_ScSetServiceBitsW(ptr long long long wstr) @ stub IdentifyCodeAuthzLevelW @@ -319,7 +313,6 @@ @ stdcall InitiateSystemShutdownExW(wstr wstr long long long long) @ stdcall InitiateSystemShutdownW(str str long long long) @ stub InstallApplication -@ stub IsProcessRestricted @ stdcall IsTextUnicode(ptr long ptr) ntdll.RtlIsTextUnicode @ stdcall IsTokenRestricted(long) @ stub IsTokenUntrusted @@ -370,8 +363,8 @@ @ stub LsaICLookupNamesWithCreds @ stub LsaICLookupSids @ stub LsaICLookupSidsWithCreds -@ stdcall LsaLookupNames(ptr long ptr ptr ptr) @ stdcall LsaLookupNames2(ptr long long ptr ptr ptr) +@ stdcall LsaLookupNames(ptr long ptr ptr ptr) @ stdcall LsaLookupPrivilegeDisplayName(ptr ptr ptr ptr) @ stdcall LsaLookupPrivilegeName(ptr ptr ptr) @ stdcall LsaLookupPrivilegeValue(ptr ptr ptr) @@ -411,10 +404,10 @@ @ stdcall MD5Final(ptr) @ stdcall MD5Init(ptr) @ stdcall MD5Update(ptr ptr long) -@ stub MSChapSrvChangePassword @ stub MSChapSrvChangePassword2 -@ stdcall MakeAbsoluteSD(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) +@ stub MSChapSrvChangePassword @ stdcall MakeAbsoluteSD2(ptr ptr) +@ stdcall MakeAbsoluteSD(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) @ stdcall MakeSelfRelativeSD(ptr ptr ptr) @ stdcall MapGenericMask(ptr ptr) ntdll.RtlMapGenericMask @ stdcall NotifyBootConfigStatus(long) @@ -446,11 +439,9 @@ @ stdcall PrivilegedServiceAuditAlarmW(wstr wstr long ptr long) @ stub ProcessIdleTasks @ stub ProcessTrace -@ stub ProvAccessRightsToNTAccessMask # ? @ stdcall QueryAllTracesA(ptr long ptr) @ stdcall QueryAllTracesW(ptr long ptr) @ stdcall QueryRecoveryAgentsOnEncryptedFile(wstr ptr) -@ stdcall QuerySecurityAccessMask(long ptr) @ stdcall QueryServiceConfig2A(long long ptr long ptr) @ stdcall QueryServiceConfig2W(long long ptr long ptr) @ stdcall QueryServiceConfigA(long ptr long ptr) @@ -463,15 +454,14 @@ @ stub QueryTraceA @ stub QueryTraceW @ stdcall QueryUsersOnEncryptedFile(wstr ptr) -@ stdcall QueryWindows31FilesMigration(long) @ stub ReadEncryptedFileRaw @ stdcall ReadEventLogA(long long long ptr long ptr ptr) @ stdcall ReadEventLogW(long long long ptr long ptr ptr) @ stdcall RegCloseKey(long) @ stdcall RegConnectRegistryA(str long ptr) +# RegConnectRegistryExA +# RegConnectRegistryExW @ stdcall RegConnectRegistryW(wstr long ptr) -@ stdcall RegCopyTreeA(ptr str ptr) -@ stdcall RegCopyTreeW(ptr wstr ptr) @ stdcall RegCreateKeyA(long str ptr) @ stdcall RegCreateKeyExA(long str long ptr long long ptr ptr ptr) @ stdcall RegCreateKeyExW(long wstr long ptr long long ptr ptr ptr) @@ -480,14 +470,9 @@ @ stdcall RegDeleteKeyExA(long str long long) @ stdcall RegDeleteKeyExW(long wstr long long) @ stdcall RegDeleteKeyW(long wstr) -@ stdcall RegDeleteKeyValueA(ptr str str) -@ stdcall RegDeleteKeyValueW(ptr wstr wstr) -@ stdcall RegDeleteTreeA(long str) -@ stdcall RegDeleteTreeW(long wstr) @ stdcall RegDeleteValueA(long str) @ stdcall RegDeleteValueW(long wstr) @ stdcall RegDisablePredefinedCache() -@ stdcall RegDisablePredefinedCacheEx() @ stdcall RegDisableReflectionKey(ptr) @ stdcall RegEnableReflectionKey(ptr) @ stdcall RegEnumKeyA(long long ptr long) @@ -502,8 +487,6 @@ @ stdcall RegGetValueW(long wstr wstr long ptr ptr ptr) @ stdcall RegLoadKeyA(long str str) @ stdcall RegLoadKeyW(long wstr wstr) -@ stdcall RegLoadMUIStringA(long str str long ptr long str) -@ stdcall RegLoadMUIStringW(long wstr wstr long ptr long wstr) @ stdcall RegNotifyChangeKeyValue(long long long long long) @ stdcall RegOpenCurrentUser(long ptr) @ stdcall RegOpenKeyA(long str ptr) @@ -521,7 +504,6 @@ @ stdcall RegQueryValueExA(long str ptr ptr ptr ptr) @ stdcall RegQueryValueExW(long wstr ptr ptr ptr ptr) @ stdcall RegQueryValueW(long wstr ptr ptr) -@ stub RegRemapPreDefKey @ stdcall RegReplaceKeyA(long str str str) @ stdcall RegReplaceKeyW(long wstr wstr wstr) @ stdcall RegRestoreKeyA(long str long) @@ -531,8 +513,6 @@ @ stdcall RegSaveKeyExW(long str ptr long) @ stdcall RegSaveKeyW(long ptr ptr) @ stdcall RegSetKeySecurity(long long ptr) -@ stdcall RegSetKeyValueA(long str str long ptr long) -@ stdcall RegSetKeyValueW(long wstr wstr long ptr long) @ stdcall RegSetValueA(long str long ptr long) @ stdcall RegSetValueExA(long str long long ptr long) @ stdcall RegSetValueExW(long wstr long long ptr long) @@ -587,7 +567,6 @@ @ stdcall SetNamedSecurityInfoW(wstr long ptr ptr ptr ptr ptr) @ stdcall SetPrivateObjectSecurity(long ptr ptr ptr long) @ stub SetPrivateObjectSecurityEx -@ stdcall SetSecurityAccessMask(long ptr) @ stdcall SetSecurityDescriptorControl(ptr long long) @ stdcall SetSecurityDescriptorDacl(ptr long ptr long) @ stdcall SetSecurityDescriptorGroup(ptr ptr long) @@ -612,7 +591,6 @@ @ stdcall StartTraceW(ptr wstr ptr) @ stub StopTraceA @ stub StopTraceW -@ stdcall SynchronizeWindows31FilesAndWindowsNTRegistry(long long long long) @ stdcall SystemFunction001(ptr ptr ptr) @ stdcall SystemFunction002(ptr ptr ptr) @ stdcall SystemFunction003(ptr ptr) From 6efa325a8e5fa484b8de9c39e2f78155b9ab3724 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 18:27:21 +0000 Subject: [PATCH 056/120] [ATL][ATL80][ATL100] * Do not rely on RegDeleteTreeW which is no longer exported. * We no longer need to define _WIN32_WINNT as 0x600. CORE-8174 svn path=/trunk/; revision=63568 --- reactos/dll/win32/atl/CMakeLists.txt | 5 +---- reactos/dll/win32/atl/registrar.c | 10 ++++++++-- reactos/dll/win32/atl100/CMakeLists.txt | 5 +---- reactos/dll/win32/atl80/CMakeLists.txt | 5 +---- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/reactos/dll/win32/atl/CMakeLists.txt b/reactos/dll/win32/atl/CMakeLists.txt index 580e31c495b..fbc3632c45a 100644 --- a/reactos/dll/win32/atl/CMakeLists.txt +++ b/reactos/dll/win32/atl/CMakeLists.txt @@ -3,9 +3,6 @@ add_definitions( -D__WINESRC__ -D_ATL_VER=_ATL_VER_30) -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(atl.dll atl.spec ADD_IMPORTLIB) @@ -22,6 +19,6 @@ list(APPEND SOURCE add_library(atl SHARED ${SOURCE} rsrc.rc) set_module_type(atl win32dll) target_link_libraries(atl uuid wine) -add_importlibs(atl oleaut32 ole32 user32 gdi32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(atl oleaut32 ole32 user32 gdi32 advapi32 shlwapi msvcrt kernel32 ntdll) add_pch(atl precomp.h SOURCE) add_cd_file(TARGET atl DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/atl/registrar.c b/reactos/dll/win32/atl/registrar.c index 1c2207d56d7..830328c84e5 100644 --- a/reactos/dll/win32/atl/registrar.c +++ b/reactos/dll/win32/atl/registrar.c @@ -18,6 +18,12 @@ #include +#define NO_SHLWAPI_PATH +#define NO_SHLWAPI_STRFCNS +#define NO_SHLWAPI_GDI +#define NO_SHLWAPI_STREAM +#include + /************************************************************** * ATLRegistrar implementation */ @@ -226,10 +232,10 @@ static HRESULT do_process_key(LPCOLESTR *pstr, HKEY parent_key, strbuf *buf, BOO strbuf_write(buf->str, &name, -1); }else if(key_type == DO_DELETE) { TRACE("Deleting %s\n", debugstr_w(buf->str)); - RegDeleteTreeW(parent_key, buf->str); + SHDeleteKeyW(parent_key, buf->str); }else { if(key_type == FORCE_REMOVE) - RegDeleteTreeW(parent_key, buf->str); + SHDeleteKeyW(parent_key, buf->str); lres = RegCreateKeyW(parent_key, buf->str, &hkey); if(lres != ERROR_SUCCESS) { WARN("Could not create(open) key: %08x\n", lres); diff --git a/reactos/dll/win32/atl100/CMakeLists.txt b/reactos/dll/win32/atl100/CMakeLists.txt index 710e11786fb..67dfb1db52f 100644 --- a/reactos/dll/win32/atl100/CMakeLists.txt +++ b/reactos/dll/win32/atl100/CMakeLists.txt @@ -3,9 +3,6 @@ add_definitions( -D__WINESRC__ -D_ATL_VER=_ATL_VER_100) -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(atl100.dll atl100.spec ADD_IMPORTLIB) @@ -23,6 +20,6 @@ add_library(atl100 SHARED set_module_type(atl100 win32dll) target_link_libraries(atl100 uuid wine) -add_importlibs(atl100 ole32 oleaut32 user32 gdi32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(atl100 ole32 oleaut32 user32 gdi32 advapi32 shlwapi msvcrt kernel32 ntdll) add_pch(atl100 precomp.h SOURCE) add_cd_file(TARGET atl100 DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/atl80/CMakeLists.txt b/reactos/dll/win32/atl80/CMakeLists.txt index c27604e573b..fe1f3a992e9 100644 --- a/reactos/dll/win32/atl80/CMakeLists.txt +++ b/reactos/dll/win32/atl80/CMakeLists.txt @@ -3,9 +3,6 @@ add_definitions( -D__WINESRC__ -D_ATL_VER=_ATL_VER_80) -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) - spec2def(atl80.dll atl80.spec ADD_IMPORTLIB) list(APPEND SOURCE @@ -20,6 +17,6 @@ list(APPEND SOURCE add_library(atl80 SHARED ${SOURCE}) set_module_type(atl80 win32dll) target_link_libraries(atl80 uuid wine) -add_importlibs(atl80 oleaut32 user32 ole32 gdi32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(atl80 oleaut32 user32 ole32 gdi32 advapi32 shlwapi msvcrt kernel32 ntdll) add_pch(atl80 precomp.h SOURCE) add_cd_file(TARGET atl80 DESTINATION reactos/system32 FOR all) From 870ba0361948954c3e7e75b779c32ad086b6fa12 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 18:46:01 +0000 Subject: [PATCH 057/120] [RPCRT4] * Reorder some exports, remove some commented out ones, add some missing ones and remove the ones that do not exist in native. CORE-8174 svn path=/trunk/; revision=63569 --- reactos/dll/win32/rpcrt4/rpcrt4.spec | 42 ++++++++++++---------------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/rpcrt4.spec b/reactos/dll/win32/rpcrt4/rpcrt4.spec index 474523b218d..96570f2ef8f 100644 --- a/reactos/dll/win32/rpcrt4/rpcrt4.spec +++ b/reactos/dll/win32/rpcrt4/rpcrt4.spec @@ -1,5 +1,6 @@ @ stdcall CreateProxyFromTypeInfo(ptr ptr ptr ptr ptr) @ stdcall CreateStubFromTypeInfo(ptr ptr ptr ptr) +# I_RpcServerTurnOnOffKeepalives @ stdcall CStdStubBuffer_AddRef(ptr) @ stdcall CStdStubBuffer_Connect(ptr ptr) @ stdcall CStdStubBuffer_CountRefs(ptr) @@ -9,9 +10,10 @@ @ stdcall CStdStubBuffer_Invoke(ptr ptr ptr) @ stdcall CStdStubBuffer_IsIIDSupported(ptr ptr) @ stdcall CStdStubBuffer_QueryInterface(ptr ptr ptr) -@ stub CreateServerInterfaceFromStub # wxp @ stdcall DceErrorInqTextA (long ptr) @ stdcall DceErrorInqTextW (long ptr) +# DllGetClassObject +# DllInstall @ stdcall -private DllRegisterServer() @ stub GlobalMutexClearExternal @ stub GlobalMutexRequestExternal @@ -25,17 +27,17 @@ @ stub I_RpcBCacheAllocate @ stub I_RpcBCacheFree @ stub I_RpcBindingCopy +# I_RpcBindingHandleToAsyncHandle @ stub I_RpcBindingInqConnId @ stub I_RpcBindingInqDynamicEndPoint @ stub I_RpcBindingInqDynamicEndPointA @ stub I_RpcBindingInqDynamicEndPointW @ stub I_RpcBindingInqLocalClientPID # wxp +# I_RpcBindingInqMarshalledTargetInfo @ stub I_RpcBindingInqSecurityContext @ stdcall I_RpcBindingInqTransportType(ptr ptr) @ stub I_RpcBindingInqWireIdForSnego @ stub I_RpcBindingIsClientLocal -# 9x version of I_RpcBindingSetAsync has 3 arguments, not 2 -@ stdcall I_RpcBindingSetAsync(ptr ptr) @ stub I_RpcBindingToStaticStringBindingW @ stub I_RpcClearMutex @ stub I_RpcConnectionInqSockBuffSize @@ -53,6 +55,8 @@ @ stub I_RpcIfInqTransferSyntaxes @ stub I_RpcLogEvent @ stdcall I_RpcMapWin32Status(long) +# I_RpcNDRCGetWireRepresentation +# I_RpcNDRSContextEmergencyCleanup @ stdcall I_RpcNegotiateTransferSyntax(ptr) @ stub I_RpcNsBindingSetEntryName @ stub I_RpcNsBindingSetEntryNameA @@ -64,21 +68,25 @@ @ stub I_RpcProxyNewConnection # wxp @ stub I_RpcReallocPipeBuffer @ stdcall I_RpcReceive(ptr) +# I_RpcRecordCalloutFailure +# I_RpcReplyToClientWithStatus @ stub I_RpcRequestMutex +# I_RpcSNCHOption @ stdcall I_RpcSend(ptr) @ stdcall I_RpcSendReceive(ptr) @ stub I_RpcServerAllocateIpPort +# I_RpcServerCheckClientRestriction @ stub I_RpcServerInqAddressChangeFn @ stub I_RpcServerInqLocalConnAddress # wxp @ stub I_RpcServerInqTransportType +# I_RpcServerIsClientDisconnected @ stub I_RpcServerRegisterForwardFunction @ stub I_RpcServerSetAddressChangeFn -@ stdcall I_RpcServerStartListening(ptr) # win9x -@ stdcall I_RpcServerStopListening() # win9x @ stub I_RpcServerUseProtseq2A @ stub I_RpcServerUseProtseq2W @ stub I_RpcServerUseProtseqEp2A @ stub I_RpcServerUseProtseqEp2W +# I_RpcSessionStrictContextHandle @ stub I_RpcSetAsyncHandle @ stub I_RpcSsDontSerializeContext @ stub I_RpcSystemFunction001 # wxp (oh, brother!) @@ -92,7 +100,6 @@ @ stub I_RpcTransIoCancelled @ stub I_RpcTransServerNewConnection @ stub I_RpcTurnOnEEInfoPropagation # wxp -@ stdcall I_RpcWindowProc(ptr long long long) # win9x @ stub I_UuidCreate @ stub MIDL_wchar_strcpy @ stub MIDL_wchar_strlen @@ -118,7 +125,6 @@ @ stdcall NdrAllocate(ptr long) @ varargs NdrAsyncClientCall(ptr ptr) @ stub NdrAsyncServerCall -@ stdcall NdrAsyncStubCall(ptr ptr ptr ptr) @ stdcall NdrByteCountPointerBufferSize(ptr ptr ptr) @ stdcall NdrByteCountPointerFree(ptr ptr ptr) @ stdcall NdrByteCountPointerMarshall(ptr ptr ptr) @@ -126,8 +132,8 @@ @ stdcall NdrCStdStubBuffer2_Release(ptr ptr) @ stdcall NdrCStdStubBuffer_Release(ptr ptr) @ stdcall NdrClearOutParameters(ptr ptr ptr) -@ varargs NdrClientCall2(ptr ptr) @ varargs -arch=i386 NdrClientCall(ptr ptr) NdrClientCall2 +@ varargs NdrClientCall2(ptr ptr) @ stdcall NdrClientContextMarshall(ptr ptr long) @ stdcall NdrClientContextUnmarshall(ptr ptr ptr) @ stub NdrClientInitialize @@ -173,6 +179,7 @@ @ stdcall NdrCorrelationFree(ptr) @ stdcall NdrCorrelationInitialize(ptr ptr long long) @ stdcall NdrCorrelationPass(ptr) +# NdrCreateServerInterfaceFromStub @ stub NdrDcomAsyncClientCall @ stub NdrDcomAsyncStubCall @ stdcall NdrDllCanUnloadNow(ptr) @@ -198,28 +205,19 @@ @ stdcall NdrFullPointerXlatInit(long long) @ stdcall NdrGetBuffer(ptr long ptr) @ stub NdrGetDcomProtocolVersion -@ stub NdrGetPartialBuffer -@ stub NdrGetPipeBuffer @ stub NdrGetSimpleTypeBufferAlignment # wxp @ stub NdrGetSimpleTypeBufferSize # wxp @ stub NdrGetSimpleTypeMemorySize # wxp @ stub NdrGetTypeFlags # wxp @ stdcall NdrGetUserMarshalInfo(ptr long ptr) -@ stub NdrHardStructBufferSize #(ptr ptr ptr) -@ stub NdrHardStructFree #(ptr ptr ptr) -@ stub NdrHardStructMarshall #(ptr ptr ptr) -@ stub NdrHardStructMemorySize #(ptr ptr) -@ stub NdrHardStructUnmarshall #(ptr ptr ptr long) @ stdcall NdrInterfacePointerBufferSize(ptr ptr ptr) @ stdcall NdrInterfacePointerFree(ptr ptr ptr) @ stdcall NdrInterfacePointerMarshall(ptr ptr ptr) @ stdcall NdrInterfacePointerMemorySize(ptr ptr) @ stdcall NdrInterfacePointerUnmarshall(ptr ptr ptr long) -@ stub NdrIsAppDoneWithPipes @ stdcall NdrMapCommAndFaultStatus(ptr ptr ptr long) -@ stub NdrMarkNextActivePipe -@ stub NdrMesProcEncodeDecode2 @ varargs NdrMesProcEncodeDecode(ptr ptr ptr) +@ stub NdrMesProcEncodeDecode2 @ stub NdrMesSimpleTypeAlignSize @ stub NdrMesSimpleTypeDecode @ stub NdrMesSimpleTypeEncode @@ -248,11 +246,6 @@ @ stub NdrPartialIgnoreClientMarshall # wxp @ stub NdrPartialIgnoreServerInitialize # wxp @ stub NdrPartialIgnoreServerUnmarshall # wxp -@ stub NdrPipePull -@ stub NdrPipePush -@ stub NdrPipeSendReceive -@ stub NdrPipesDone -@ stub NdrPipesInitialize @ stdcall NdrPointerBufferSize(ptr ptr ptr) @ stdcall NdrPointerFree(ptr ptr ptr) @ stdcall NdrPointerMarshall(ptr ptr ptr) @@ -378,13 +371,14 @@ @ stub RpcErrorClearInformation # wxp @ stdcall RpcErrorEndEnumeration(ptr) @ stdcall RpcErrorGetNextRecord(ptr long ptr) +# RpcErrorGetNumberOfRecords @ stdcall RpcErrorLoadErrorInfo(ptr long ptr) -@ stub RpcErrorNumberOfRecords # wxp @ stub RpcErrorResetEnumeration # wxp @ stdcall RpcErrorSaveErrorInfo(ptr ptr ptr) @ stdcall RpcErrorStartEnumeration(ptr) @ stub RpcFreeAuthorizationContext # wxp @ stdcall RpcGetAsyncCallStatus(ptr) RpcAsyncGetCallStatus +# RpcGetAuthorizationContextForClient @ stub RpcIfIdVectorFree @ stub RpcIfInqId @ stdcall RpcImpersonateClient(ptr) From 5d627ea750bf67302434391c68dc228314c34002 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 8 Jun 2014 19:05:03 +0000 Subject: [PATCH 058/120] [USETUP] - Add status text for logical partition entries in the partition list. - Add logical partition creation page dummy. svn path=/trunk/; revision=63570 --- reactos/base/setup/usetup/interface/usetup.c | 86 ++++++++++++++++---- reactos/base/setup/usetup/lang/bg-BG.h | 2 + reactos/base/setup/usetup/lang/cs-CZ.h | 2 + reactos/base/setup/usetup/lang/de-DE.h | 2 + reactos/base/setup/usetup/lang/el-GR.h | 2 + reactos/base/setup/usetup/lang/en-US.h | 2 + reactos/base/setup/usetup/lang/es-ES.h | 2 + reactos/base/setup/usetup/lang/et-EE.h | 2 + reactos/base/setup/usetup/lang/fr-FR.h | 2 + reactos/base/setup/usetup/lang/he-IL.h | 2 + reactos/base/setup/usetup/lang/it-IT.h | 2 + reactos/base/setup/usetup/lang/ja-JP.h | 2 + reactos/base/setup/usetup/lang/lt-LT.h | 2 + reactos/base/setup/usetup/lang/nl-NL.h | 2 + reactos/base/setup/usetup/lang/pl-PL.h | 2 + reactos/base/setup/usetup/lang/pt-BR.h | 2 + reactos/base/setup/usetup/lang/ro-RO.h | 2 + reactos/base/setup/usetup/lang/ru-RU.h | 2 + reactos/base/setup/usetup/lang/sk-SK.h | 2 + reactos/base/setup/usetup/lang/sq-AL.h | 2 + reactos/base/setup/usetup/lang/sv-SE.h | 2 + reactos/base/setup/usetup/lang/tr-TR.h | 2 + reactos/base/setup/usetup/lang/uk-UA.h | 2 + reactos/base/setup/usetup/mui.h | 1 + reactos/base/setup/usetup/partlist.c | 18 ++++ reactos/base/setup/usetup/partlist.h | 4 + reactos/base/setup/usetup/usetup.h | 1 + 27 files changed, 137 insertions(+), 17 deletions(-) diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index 7bc25646673..800046acdc2 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -1550,18 +1550,38 @@ SelectPartitionPage(PINPUT_RECORD Ir) while (TRUE) { /* Update status text */ - if (PartitionList->CurrentPartition == NULL || - PartitionList->CurrentPartition->IsPartitioned == FALSE) + if (PartitionList->CurrentPartition == NULL) { CONSOLE_SetStatusText(MUIGetString(STRING_INSTALLCREATEPARTITION)); } - else if (IsContainerPartition(PartitionList->CurrentPartition->PartitionType)) + else if (PartitionList->CurrentPartition->LogicalPartition) { - CONSOLE_SetStatusText(MUIGetString(STRING_DELETEPARTITION)); + if (PartitionList->CurrentPartition->IsPartitioned) + { + CONSOLE_SetStatusText(MUIGetString(STRING_DELETEPARTITION)); + } + else + { + CONSOLE_SetStatusText(MUIGetString(STRING_INSTALLCREATELOGICAL)); + } } else { - CONSOLE_SetStatusText(MUIGetString(STRING_INSTALLDELETEPARTITION)); + if (PartitionList->CurrentPartition->IsPartitioned) + { + if (IsContainerPartition(PartitionList->CurrentPartition->PartitionType)) + { + CONSOLE_SetStatusText(MUIGetString(STRING_DELETEPARTITION)); + } + else + { + CONSOLE_SetStatusText(MUIGetString(STRING_INSTALLDELETEPARTITION)); + } + } + else + { + CONSOLE_SetStatusText(MUIGetString(STRING_INSTALLCREATEPARTITION)); + } } CONSOLE_ConInKey(Ir); @@ -1616,25 +1636,45 @@ SelectPartitionPage(PINPUT_RECORD Ir) } else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'P') /* P */ { - Error = PrimaryPartitionCreationChecks(PartitionList); - if (Error != NOT_AN_ERROR) + if (PartitionList->CurrentPartition->LogicalPartition == FALSE) { - MUIDisplayError(Error, Ir, POPUP_WAIT_ANY_KEY); - return SELECT_PARTITION_PAGE; - } + Error = PrimaryPartitionCreationChecks(PartitionList); + if (Error != NOT_AN_ERROR) + { + MUIDisplayError(Error, Ir, POPUP_WAIT_ANY_KEY); + return SELECT_PARTITION_PAGE; + } - return CREATE_PRIMARY_PARTITION_PAGE; + return CREATE_PRIMARY_PARTITION_PAGE; + } } else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'E') /* E */ { - Error = ExtendedPartitionCreationChecks(PartitionList); - if (Error != NOT_AN_ERROR) + if (PartitionList->CurrentPartition->LogicalPartition == FALSE) { - MUIDisplayError(Error, Ir, POPUP_WAIT_ANY_KEY); - return SELECT_PARTITION_PAGE; - } + Error = ExtendedPartitionCreationChecks(PartitionList); + if (Error != NOT_AN_ERROR) + { + MUIDisplayError(Error, Ir, POPUP_WAIT_ANY_KEY); + return SELECT_PARTITION_PAGE; + } - return CREATE_EXTENDED_PARTITION_PAGE; + return CREATE_EXTENDED_PARTITION_PAGE; + } + } + else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'L') /* L */ + { + if (PartitionList->CurrentPartition->LogicalPartition == TRUE) + { + Error = LogicalPartitionCreationChecks(PartitionList); + if (Error != NOT_AN_ERROR) + { + MUIDisplayError(Error, Ir, POPUP_WAIT_ANY_KEY); + return SELECT_PARTITION_PAGE; + } + + return CREATE_LOGICAL_PARTITION_PAGE; + } } else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'D') /* D */ { @@ -2088,6 +2128,14 @@ CreateExtendedPartitionPage(PINPUT_RECORD Ir) } +static PAGE_NUMBER +CreateLogicalPartitionPage(PINPUT_RECORD Ir) +{ + + return SELECT_PARTITION_PAGE; +} + + static PAGE_NUMBER DeletePartitionPage(PINPUT_RECORD Ir) { @@ -4029,6 +4077,10 @@ RunUSetup(VOID) Page = CreateExtendedPartitionPage(&Ir); break; + case CREATE_LOGICAL_PARTITION_PAGE: + Page = CreateLogicalPartitionPage(&Ir); + break; + case DELETE_PARTITION_PAGE: Page = DeletePartitionPage(&Ir); break; diff --git a/reactos/base/setup/usetup/lang/bg-BG.h b/reactos/base/setup/usetup/lang/bg-BG.h index 8e5e61f3730..d68f602a6a1 100644 --- a/reactos/base/setup/usetup/lang/bg-BG.h +++ b/reactos/base/setup/usetup/lang/bg-BG.h @@ -1651,6 +1651,8 @@ MUI_STRING bgBGStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = ‘« £ ­¥ C = ‘ꧤ ¢ ­¥ ­  ¤ï« F3 = ˆ§å®¤"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = ‘« £ ­¥ D = ˆ§âਢ ­¥ ­  ¤ï« F3 = ˆ§å®¤"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/cs-CZ.h b/reactos/base/setup/usetup/lang/cs-CZ.h index 319c8e026b1..8440fc22811 100644 --- a/reactos/base/setup/usetup/lang/cs-CZ.h +++ b/reactos/base/setup/usetup/lang/cs-CZ.h @@ -1647,6 +1647,8 @@ MUI_STRING csCZStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Instalovat C = Vytvoýit odd¡l F3 = UkonŸit"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalovat D = Odstranit odd¡l F3 = UkonŸit"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/de-DE.h b/reactos/base/setup/usetup/lang/de-DE.h index c0a2703fb27..e85dfb95f6d 100644 --- a/reactos/base/setup/usetup/lang/de-DE.h +++ b/reactos/base/setup/usetup/lang/de-DE.h @@ -1642,6 +1642,8 @@ MUI_STRING deDEStrings[] = " Bitte warten..."}, {STRING_INSTALLCREATEPARTITION, " EINGABETASTE = Installieren P = Prim„re E = Erweiterte F3 = Installation abbr."}, + {STRING_INSTALLCREATELOGICAL, + " EINGABETASTE = Installieren L = Logisches Laufwerk F3 = Installation abbr."}, {STRING_INSTALLDELETEPARTITION, " EINGABETASTE = Installieren D = Partition l”schen F3 = Installation abbr."}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/el-GR.h b/reactos/base/setup/usetup/lang/el-GR.h index 790b375e606..d12bb6918ed 100644 --- a/reactos/base/setup/usetup/lang/el-GR.h +++ b/reactos/base/setup/usetup/lang/el-GR.h @@ -1663,6 +1663,8 @@ MUI_STRING elGRStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = „š¡˜«á©«˜©ž C = ƒž£ ¦¬¨šå˜ Partition F3 = €§¦®é¨ž©ž"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = „š¡˜«á©«˜©ž D = ƒ ˜š¨˜­ã Partition F3 = €§¦®é¨ž©ž"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/en-US.h b/reactos/base/setup/usetup/lang/en-US.h index e9d907d926c..6b20c0889ca 100644 --- a/reactos/base/setup/usetup/lang/en-US.h +++ b/reactos/base/setup/usetup/lang/en-US.h @@ -1636,6 +1636,8 @@ MUI_STRING enUSStrings[] = " Please wait..."}, {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Install D = Delete Partition F3 = Quit"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/es-ES.h b/reactos/base/setup/usetup/lang/es-ES.h index 8d6dd1d6aa6..04a53da0268 100644 --- a/reactos/base/setup/usetup/lang/es-ES.h +++ b/reactos/base/setup/usetup/lang/es-ES.h @@ -1645,6 +1645,8 @@ MUI_STRING esESStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Instalar C = Crear Partici¢n F3 = Salir"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_DELETEPARTITION, " D = Borrar Partici¢n F3 = Salir"}, {STRING_INSTALLDELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/et-EE.h b/reactos/base/setup/usetup/lang/et-EE.h index 08666686476..71fdeceb0c5 100644 --- a/reactos/base/setup/usetup/lang/et-EE.h +++ b/reactos/base/setup/usetup/lang/et-EE.h @@ -1636,6 +1636,8 @@ MUI_STRING etEEStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Paigalda C = Loo partitsioon F3 = V„lju"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Paigalda D = Kustuta partitsioon F3 = V„lju"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/fr-FR.h b/reactos/base/setup/usetup/lang/fr-FR.h index 379815f3750..84ce39ae830 100644 --- a/reactos/base/setup/usetup/lang/fr-FR.h +++ b/reactos/base/setup/usetup/lang/fr-FR.h @@ -1650,6 +1650,8 @@ MUI_STRING frFRStrings[] = " Veuillez patienter..."}, {STRING_INSTALLCREATEPARTITION, " ENTRE = Installer P/E = Cr‚er Partition Primaire/tendue F3 = Quitter"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTRE = Installer D = Supprimer Partition F3 = Quitter"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/he-IL.h b/reactos/base/setup/usetup/lang/he-IL.h index 5279790ae76..5b415a68d5d 100644 --- a/reactos/base/setup/usetup/lang/he-IL.h +++ b/reactos/base/setup/usetup/lang/he-IL.h @@ -1638,6 +1638,8 @@ MUI_STRING heILStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = „š— C = –…˜ އ‰–„ F3 = ˆŒ „š—„"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = „š— D = އ— އ‰–„ F3 = ˆŒ „š—„"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/it-IT.h b/reactos/base/setup/usetup/lang/it-IT.h index bb27717aac1..936f3b479d7 100644 --- a/reactos/base/setup/usetup/lang/it-IT.h +++ b/reactos/base/setup/usetup/lang/it-IT.h @@ -1640,6 +1640,8 @@ MUI_STRING itITStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " INVIO = Installa C = Crea Partizione F3 = Esci"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " INVIO = Installa D = Rimuovi Partizione F3 = Esci"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ja-JP.h b/reactos/base/setup/usetup/lang/ja-JP.h index d0842ba028e..b70ecc999ee 100644 --- a/reactos/base/setup/usetup/lang/ja-JP.h +++ b/reactos/base/setup/usetup/lang/ja-JP.h @@ -1639,6 +1639,8 @@ MUI_STRING jaJPStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = ²Ý½Ä°Ù C = Ê߰è¼®Ý »¸¾² F3 = Á­³¼"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = ²Ý½Ä°Ù D = Ê߰è¼®Ý »¸¼Þ® F3 = Á­³¼"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/lt-LT.h b/reactos/base/setup/usetup/lang/lt-LT.h index b2bbf911100..fbb759ea6d8 100644 --- a/reactos/base/setup/usetup/lang/lt-LT.h +++ b/reactos/base/setup/usetup/lang/lt-LT.h @@ -1647,6 +1647,8 @@ MUI_STRING ltLTStrings[] = " Please wait..."}, {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Install D = Delete Partition F3 = Quit"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/nl-NL.h b/reactos/base/setup/usetup/lang/nl-NL.h index 47ac10dd4da..dac2f565e52 100644 --- a/reactos/base/setup/usetup/lang/nl-NL.h +++ b/reactos/base/setup/usetup/lang/nl-NL.h @@ -1684,6 +1684,8 @@ MUI_STRING nlNLStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Installeren C = Partitie aanmaken F3 = Afsluiten"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Installeren D = Partitie verwijderen F3 = Afsluiten"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/pl-PL.h b/reactos/base/setup/usetup/lang/pl-PL.h index f03915b3bc2..a9e8c72065b 100644 --- a/reactos/base/setup/usetup/lang/pl-PL.h +++ b/reactos/base/setup/usetup/lang/pl-PL.h @@ -1648,6 +1648,8 @@ MUI_STRING plPLStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Instalacja C = Utworzenie Partycji F3 = Wyj˜cie"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalacja D = Skasowanie Partycji F3 = Wyj˜cie"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/pt-BR.h b/reactos/base/setup/usetup/lang/pt-BR.h index e4839862082..fc8ef341d0d 100644 --- a/reactos/base/setup/usetup/lang/pt-BR.h +++ b/reactos/base/setup/usetup/lang/pt-BR.h @@ -1675,6 +1675,8 @@ MUI_STRING ptBRStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER=Instalar C=Criar parti‡Æo F3=Sair"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER=Instalar D=Apagar parti‡Æo F3=Sair"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ro-RO.h b/reactos/base/setup/usetup/lang/ro-RO.h index ac0a0f50ccf..d6b94251485 100644 --- a/reactos/base/setup/usetup/lang/ro-RO.h +++ b/reactos/base/setup/usetup/lang/ro-RO.h @@ -1716,6 +1716,8 @@ MUI_STRING roROStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Instalare C = Creare partiîie F3 = Ie­ire"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalare D = ¸tergere partiîie F3 = Ie­ire"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ru-RU.h b/reactos/base/setup/usetup/lang/ru-RU.h index 4a0c38a4b50..852c2638977 100644 --- a/reactos/base/setup/usetup/lang/ru-RU.h +++ b/reactos/base/setup/usetup/lang/ru-RU.h @@ -1640,6 +1640,8 @@ MUI_STRING ruRUStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = “áâ ­®¢¨âì C = ‘®§¤ âì à §¤¥« F3 = ‚ë室"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = “áâ ­®¢¨âì D = “¤ «¨âì à §¤¥« F3 = ‚ë室"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sk-SK.h b/reactos/base/setup/usetup/lang/sk-SK.h index 4572b00ae41..74e2ee3f9af 100644 --- a/reactos/base/setup/usetup/lang/sk-SK.h +++ b/reactos/base/setup/usetup/lang/sk-SK.h @@ -1650,6 +1650,8 @@ MUI_STRING skSKStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Inçtalovaœ C = Vytvoriœ oblasœ F3 = SkonŸiœ"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Inçtalovaœ D = Odstr niœ oblasœ F3 = SkonŸiœ"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sq-AL.h b/reactos/base/setup/usetup/lang/sq-AL.h index e746fb25a97..f23fc7c35ca 100644 --- a/reactos/base/setup/usetup/lang/sq-AL.h +++ b/reactos/base/setup/usetup/lang/sq-AL.h @@ -1642,6 +1642,8 @@ MUI_STRING sqALStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Instalo C = Krijo Particion F3 = Dil"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalo D = Fshi Particion F3 = Dil"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sv-SE.h b/reactos/base/setup/usetup/lang/sv-SE.h index 7559e6c4cdd..3ee1326128d 100644 --- a/reactos/base/setup/usetup/lang/sv-SE.h +++ b/reactos/base/setup/usetup/lang/sv-SE.h @@ -1645,6 +1645,8 @@ MUI_STRING svSEStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = Installera C = Skapa Partition F3 = Avsluta"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Installera D = Ta bort Partition F3 = Avsluta"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/tr-TR.h b/reactos/base/setup/usetup/lang/tr-TR.h index bb86584510d..d8058795bba 100644 --- a/reactos/base/setup/usetup/lang/tr-TR.h +++ b/reactos/base/setup/usetup/lang/tr-TR.h @@ -1613,6 +1613,8 @@ MUI_STRING trTRStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " GiriŸ = Kur C = B”lm OluŸtur F3 = €kŸ"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " GiriŸ = Kur D = B”lm Sil F3 = €kŸ"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/lang/uk-UA.h b/reactos/base/setup/usetup/lang/uk-UA.h index 93c68772985..2d538b7a36c 100644 --- a/reactos/base/setup/usetup/lang/uk-UA.h +++ b/reactos/base/setup/usetup/lang/uk-UA.h @@ -1645,6 +1645,8 @@ MUI_STRING ukUAStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, // " ENTER = ‚áâ ­®¢¨â¨ C = ‘⢮à¨â¨ ®§¤i« F3 = ‚¨©â¨"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = ‚áâ ­®¢¨â¨ D = ‚¨¤ «¨â¨ ®§¤i« F3 = ‚¨©â¨"}, {STRING_DELETEPARTITION, diff --git a/reactos/base/setup/usetup/mui.h b/reactos/base/setup/usetup/mui.h index 48092c81ce4..f36317c0f44 100644 --- a/reactos/base/setup/usetup/mui.h +++ b/reactos/base/setup/usetup/mui.h @@ -99,6 +99,7 @@ MUIGetString( #define STRING_PLEASEWAIT 1 #define STRING_INSTALLCREATEPARTITION 2 +#define STRING_INSTALLCREATELOGICAL 60 #define STRING_INSTALLDELETEPARTITION 3 #define STRING_DELETEPARTITION 59 #define STRING_PARTITIONSIZE 4 diff --git a/reactos/base/setup/usetup/partlist.c b/reactos/base/setup/usetup/partlist.c index b8aad4ad9ae..d48a1bf2109 100644 --- a/reactos/base/setup/usetup/partlist.c +++ b/reactos/base/setup/usetup/partlist.c @@ -3088,4 +3088,22 @@ ExtendedPartitionCreationChecks( return ERROR_SUCCESS; } + +ULONG +LogicalPartitionCreationChecks( + IN PPARTLIST List) +{ +// PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + +// DiskEntry = List->CurrentDisk; + PartEntry = List->CurrentPartition; + + /* Fail if partition is already in use */ + if (PartEntry->IsPartitioned == TRUE) + return ERROR_NEW_PARTITION; + + return ERROR_SUCCESS; +} + /* EOF */ diff --git a/reactos/base/setup/usetup/partlist.h b/reactos/base/setup/usetup/partlist.h index 3423fe65120..ad4765a5669 100644 --- a/reactos/base/setup/usetup/partlist.h +++ b/reactos/base/setup/usetup/partlist.h @@ -254,4 +254,8 @@ ULONG ExtendedPartitionCreationChecks( IN PPARTLIST List); +ULONG +LogicalPartitionCreationChecks( + IN PPARTLIST List); + /* EOF */ diff --git a/reactos/base/setup/usetup/usetup.h b/reactos/base/setup/usetup/usetup.h index 0d4f587c965..48914d16bad 100644 --- a/reactos/base/setup/usetup/usetup.h +++ b/reactos/base/setup/usetup/usetup.h @@ -130,6 +130,7 @@ typedef enum _PAGE_NUMBER SELECT_PARTITION_PAGE, CREATE_PRIMARY_PARTITION_PAGE, CREATE_EXTENDED_PARTITION_PAGE, + CREATE_LOGICAL_PARTITION_PAGE, DELETE_PARTITION_PAGE, SELECT_FILE_SYSTEM_PAGE, From 7c0657fdac265538e07a67ba271d63a88e0e6a88 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Jun 2014 19:25:14 +0000 Subject: [PATCH 059/120] [OLE32] * Reorder some exports, add some missing ones and remove the ones that do not exist in native. CORE-8174 svn path=/trunk/; revision=63571 --- reactos/dll/win32/ole32/ole32.spec | 44 +++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/ole32/ole32.spec b/reactos/dll/win32/ole32/ole32.spec index a12c2c4a19f..ce554435edb 100644 --- a/reactos/dll/win32/ole32/ole32.spec +++ b/reactos/dll/win32/ole32/ole32.spec @@ -1,51 +1,72 @@ +# CoVrfCheckThreadState +# CoVrfGetThreadState +# CoVrfReleaseThreadState +# PropVariantChangeType @ stdcall BindMoniker(ptr long ptr ptr) @ stdcall CLIPFORMAT_UserFree(ptr ptr) @ stdcall CLIPFORMAT_UserMarshal(ptr ptr ptr) @ stdcall CLIPFORMAT_UserSize(ptr long ptr) @ stdcall CLIPFORMAT_UserUnmarshal(ptr ptr ptr) +# CLSIDFromOle1Class @ stdcall CLSIDFromProgID(wstr ptr) @ stdcall CLSIDFromProgIDEx(wstr ptr) @ stdcall CLSIDFromString(wstr ptr) @ stdcall CoAddRefServerProcess() @ stdcall CoAllowSetForegroundWindow(ptr ptr) @ stdcall CoBuildVersion() +# CoCancelCall @ stdcall CoCopyProxy(ptr ptr) @ stdcall CoCreateFreeThreadedMarshaler(ptr ptr) @ stdcall CoCreateGuid(ptr) @ stdcall CoCreateInstance(ptr ptr long ptr ptr) @ stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr) +# CoCreateObjectInContext +# CoDeactivateObject +# CoDisableCallCancellation @ stdcall CoDisconnectObject(ptr long) @ stdcall CoDosDateTimeToFileTime(long long ptr) kernel32.DosDateTimeToFileTime +# CoEnableCallCancellation @ stdcall CoFileTimeNow(ptr) @ stdcall CoFileTimeToDosDateTime(ptr ptr ptr) kernel32.FileTimeToDosDateTime @ stdcall CoFreeAllLibraries() @ stdcall CoFreeLibrary(long) @ stdcall CoFreeUnusedLibraries() @ stdcall CoFreeUnusedLibrariesEx(long long) +# CoGetApartmentID @ stdcall CoGetCallContext(ptr ptr) @ stdcall CoGetCallerTID(ptr) +# CoGetCancelObject @ stdcall CoGetClassObject(ptr long ptr ptr ptr) +# CoGetClassVersion +# CoGetComCatalog @ stdcall CoGetContextToken(ptr) @ stdcall CoGetCurrentLogicalThreadId(ptr) @ stdcall CoGetCurrentProcess() @ stdcall CoGetDefaultContext(long ptr ptr) @ stdcall CoGetInstanceFromFile(ptr ptr ptr long long wstr long ptr) @ stdcall CoGetInstanceFromIStorage(ptr ptr ptr long ptr long ptr) +# CoGetInterceptor +# CoGetInterceptorFromTypeInfo @ stdcall CoGetInterfaceAndReleaseStream(ptr ptr ptr) @ stdcall CoGetMalloc(long ptr) @ stdcall CoGetMarshalSizeMax(ptr ptr ptr long ptr long) +# CoGetModuleType @ stdcall CoGetObject(wstr ptr ptr ptr) @ stdcall CoGetObjectContext(ptr ptr) @ stdcall CoGetPSClsid(ptr ptr) +# CoGetProcessIdentifier @ stdcall CoGetStandardMarshal(ptr ptr long ptr long ptr) @ stdcall CoGetState(ptr) -@ stub CoGetTIDFromIPID +# CoGetStdMarshalEx +# CoGetSystemSecurityPermissions @ stdcall CoGetTreatAsClass(ptr ptr) @ stdcall CoImpersonateClient() @ stdcall CoInitialize(ptr) @ stdcall CoInitializeEx(ptr long) @ stdcall CoInitializeSecurity(ptr long ptr ptr long long ptr long ptr) @ stdcall CoInitializeWOW(long long) +# CoInstall +# CoInvalidateRemoteMachineBindings @ stdcall CoIsHandlerConnected(ptr) @ stdcall CoIsOle1Class (ptr) @ stdcall CoLoadLibrary(wstr long) @@ -53,10 +74,13 @@ @ stdcall CoMarshalHresult(ptr long) @ stdcall CoMarshalInterThreadInterfaceInStream(ptr ptr ptr) @ stdcall CoMarshalInterface(ptr ptr ptr long ptr long) +# CoPopServiceDomain +# CoPushServiceDomain @ stub CoQueryAuthenticationServices @ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr) @ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr) @ stub CoQueryReleaseObject +# CoReactivateObject @ stdcall CoRegisterChannelHook(ptr ptr) @ stdcall CoRegisterClassObject(ptr ptr long long ptr) @ stdcall CoRegisterInitializeSpy(ptr ptr) @@ -68,10 +92,12 @@ @ stdcall CoReleaseMarshalData(ptr) @ stdcall CoReleaseServerProcess() @ stdcall CoResumeClassObjects() +# CoRetireServer @ stdcall CoRevertToSelf() @ stdcall CoRevokeClassObject(long) @ stdcall CoRevokeInitializeSpy(int64) @ stdcall CoRevokeMallocSpy() +# CoSetCancelObject @ stdcall CoSetProxyBlanket(ptr long long ptr long long ptr long) @ stdcall CoSetState(ptr) @ stdcall CoSuspendClassObjects() @@ -79,12 +105,17 @@ @ stdcall CoTaskMemAlloc(long) @ stdcall CoTaskMemFree(ptr) @ stdcall CoTaskMemRealloc(ptr long) +# CoTestCancel @ stdcall CoTreatAsClass(ptr ptr) @ stdcall CoUninitialize() @ stub CoUnloadingWOW @ stdcall CoUnmarshalHresult(ptr ptr) @ stdcall CoUnmarshalInterface(ptr ptr ptr) @ stdcall CoWaitForMultipleHandles(long long long ptr ptr) +# ComPs_NdrDllCanUnloadNow +# ComPs_NdrDllGetClassObject +# ComPs_NdrDllRegisterProxy +# ComPs_NdrDllUnregisterProxy @ stdcall CreateAntiMoniker(ptr) @ stdcall CreateBindCtx(long ptr) @ stdcall CreateClassMoniker(ptr ptr) @@ -98,12 +129,13 @@ @ stub CreateObjrefMoniker @ stdcall CreateOleAdviseHolder(ptr) @ stdcall CreatePointerMoniker(ptr ptr) +# CreateStdProgressIndicator @ stdcall CreateStreamOnHGlobal(ptr long ptr) +# DcomChannelSetHResult @ stdcall DllDebugObjectRPCHook(long ptr) -@ stdcall DllGetClassObject (ptr ptr ptr) +@ stdcall DllGetClassObject(ptr ptr ptr) @ stub DllGetClassObjectWOW @ stdcall -private DllRegisterServer() -@ stdcall -private DllUnregisterServer() @ stdcall DoDragDrop(ptr ptr long ptr) @ stub EnableHookObject @ stdcall FmtIdToPropStgName(ptr wstr) @@ -164,8 +196,8 @@ @ stdcall HWND_UserMarshal(ptr ptr ptr) @ stdcall HWND_UserSize(ptr long ptr) @ stdcall HWND_UserUnmarshal(ptr ptr ptr) +# HkOleRegisterObject @ stdcall IIDFromString(wstr ptr) -@ stub I_RemoteMain @ stdcall IsAccelerator(long long ptr long) @ stdcall IsEqualGUID(ptr ptr) @ stub IsValidIid @@ -260,15 +292,19 @@ @ stdcall StgCreateDocfile(wstr long long ptr) @ stdcall StgCreateDocfileOnILockBytes(ptr long long ptr) @ stdcall StgCreatePropSetStg(ptr long ptr) +# StgCreatePropStg @ stdcall StgCreateStorageEx(wstr long long long ptr ptr ptr ptr) @ stub StgGetIFillLockBytesOnFile @ stub StgGetIFillLockBytesOnILockBytes @ stdcall StgIsStorageFile(wstr) @ stdcall StgIsStorageILockBytes(ptr) @ stub StgOpenAsyncDocfileOnIFillLockBytes +# StgOpenPropStg @ stdcall StgOpenStorage(wstr ptr long ptr long ptr) @ stdcall StgOpenStorageEx(wstr long long long ptr ptr ptr ptr) +# StgOpenStorageOnHandle @ stdcall StgOpenStorageOnILockBytes(ptr ptr long long long ptr) +# StgPropertyLengthAsVariant @ stdcall StgSetTimes(wstr ptr ptr ptr ) @ stdcall StringFromCLSID(ptr ptr) @ stdcall StringFromGUID2(ptr ptr long) From 5ed8d5d62e038e78bc61c66dc778ee5d39004ba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 8 Jun 2014 22:28:35 +0000 Subject: [PATCH 060/120] [CRT/INTRIN_X86] Add InterlockedExchange8/16 for GCC. Reviewed by Timo. svn path=/trunk/; revision=63572 --- reactos/include/crt/mingw32/intrin_x86.h | 34 +++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/reactos/include/crt/mingw32/intrin_x86.h b/reactos/include/crt/mingw32/intrin_x86.h index f8f77b0f968..d9dcced3002 100644 --- a/reactos/include/crt/mingw32/intrin_x86.h +++ b/reactos/include/crt/mingw32/intrin_x86.h @@ -150,6 +150,8 @@ __INTRIN_INLINE char _InterlockedCompareExchange8(volatile char * const Destinat __INTRIN_INLINE short _InterlockedCompareExchange16(volatile short * const Destination, const short Exchange, const short Comperand); __INTRIN_INLINE long _InterlockedCompareExchange(volatile long * const Destination, const long Exchange, const long Comperand); __INTRIN_INLINE void * _InterlockedCompareExchangePointer(void * volatile * const Destination, void * const Exchange, void * const Comperand); +__INTRIN_INLINE char _InterlockedExchange8(volatile char * const Target, const char Value); +__INTRIN_INLINE short _InterlockedExchange16(volatile short * const Target, const short Value); __INTRIN_INLINE long _InterlockedExchange(volatile long * const Target, const long Value); __INTRIN_INLINE void * _InterlockedExchangePointer(void * volatile * const Target, void * const Value); __INTRIN_INLINE long _InterlockedExchangeAdd16(volatile short * const Addend, const short Value); @@ -199,6 +201,20 @@ __INTRIN_INLINE void * _InterlockedCompareExchangePointer(void * volatile * cons return (void *)__sync_val_compare_and_swap(Destination, Comperand, Exchange); } +__INTRIN_INLINE char _InterlockedExchange8(volatile char * const Target, const char Value) +{ + /* NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier */ + __sync_synchronize(); + return __sync_lock_test_and_set(Target, Value); +} + +__INTRIN_INLINE short _InterlockedExchange16(volatile short * const Target, const short Value) +{ + /* NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier */ + __sync_synchronize(); + return __sync_lock_test_and_set(Target, Value); +} + __INTRIN_INLINE long _InterlockedExchange(volatile long * const Target, const long Value) { /* NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier */ @@ -217,7 +233,7 @@ __INTRIN_INLINE long long _InterlockedExchange64(volatile long long * const Targ __INTRIN_INLINE void * _InterlockedExchangePointer(void * volatile * const Target, void * const Value) { - /* NOTE: ditto */ + /* NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier */ __sync_synchronize(); return (void *)__sync_lock_test_and_set(Target, Value); } @@ -347,6 +363,8 @@ __INTRIN_INLINE char _InterlockedCompareExchange8(volatile char * const Destinat __INTRIN_INLINE short _InterlockedCompareExchange16(volatile short * const Destination, const short Exchange, const short Comperand); __INTRIN_INLINE long _InterlockedCompareExchange(volatile long * const Destination, const long Exchange, const long Comperand); __INTRIN_INLINE void * _InterlockedCompareExchangePointer(void * volatile * const Destination, void * const Exchange, void * const Comperand); +__INTRIN_INLINE char _InterlockedExchange8(volatile char * const Target, const char Value); +__INTRIN_INLINE short _InterlockedExchange16(volatile short * const Target, const short Value); __INTRIN_INLINE long _InterlockedExchange(volatile long * const Target, const long Value); __INTRIN_INLINE void * _InterlockedExchangePointer(void * volatile * const Target, void * const Value); __INTRIN_INLINE long _InterlockedExchangeAdd16(volatile short * const Addend, const short Value); @@ -397,6 +415,20 @@ __INTRIN_INLINE void * _InterlockedCompareExchangePointer(void * volatile * cons return retval; } +__INTRIN_INLINE char _InterlockedExchange8(volatile char * const Target, const char Value) +{ + char retval = Value; + __asm__("xchgb %[retval], %[Target]" : [retval] "+r" (retval) : [Target] "m" (*Target) : "memory"); + return retval; +} + +__INTRIN_INLINE short _InterlockedExchange16(volatile short * const Target, const short Value) +{ + short retval = Value; + __asm__("xchgw %[retval], %[Target]" : [retval] "+r" (retval) : [Target] "m" (*Target) : "memory"); + return retval; +} + __INTRIN_INLINE long _InterlockedExchange(volatile long * const Target, const long Value) { long retval = Value; From 55c189531fd56852e866d40d48f14529345c8a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 8 Jun 2014 23:02:40 +0000 Subject: [PATCH 061/120] [CONSRV]: Use InterlockedExchange16 to exchange Begin and End COORD structure members. svn path=/trunk/; revision=63573 --- .../user/winsrv/consrv/frontends/gui/conwnd.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index 9c1a248757f..acc83a41ee6 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -12,7 +12,7 @@ /* INCLUDES *******************************************************************/ #include - +#include #include #define NDEBUG @@ -694,17 +694,8 @@ GetSelectionBeginEnd(PCOORD Begin, PCOORD End, /* Exchange Begin / End if Begin > End lexicographically */ if (Begin->Y > End->Y || (Begin->Y == End->Y && Begin->X > End->X)) { - SHORT tmp; - - // End->X = InterlockedExchange16(&Begin->X, End->X); - tmp = Begin->X; - Begin->X = End->X; - End->X = tmp; - - // End->Y = InterlockedExchange16(&Begin->Y, End->Y); - tmp = Begin->Y; - Begin->Y = End->Y; - End->Y = tmp; + End->X = _InterlockedExchange16(&Begin->X, End->X); + End->Y = _InterlockedExchange16(&Begin->Y, End->Y); } } From 4e31cd6e0cc1ada803fd9db23c5b61d66714c66b Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Mon, 9 Jun 2014 01:49:24 +0000 Subject: [PATCH 062/120] [USETUP] Add the create logical partition page. svn path=/trunk/; revision=63574 --- reactos/base/setup/usetup/interface/usetup.c | 140 ++++++++++++++++++- reactos/base/setup/usetup/lang/bg-BG.h | 2 + reactos/base/setup/usetup/lang/cs-CZ.h | 2 + reactos/base/setup/usetup/lang/de-DE.h | 10 +- reactos/base/setup/usetup/lang/el-GR.h | 2 + reactos/base/setup/usetup/lang/en-US.h | 2 + reactos/base/setup/usetup/lang/es-ES.h | 2 + reactos/base/setup/usetup/lang/et-EE.h | 2 + reactos/base/setup/usetup/lang/fr-FR.h | 2 + reactos/base/setup/usetup/lang/he-IL.h | 2 + reactos/base/setup/usetup/lang/it-IT.h | 2 + reactos/base/setup/usetup/lang/ja-JP.h | 2 + reactos/base/setup/usetup/lang/lt-LT.h | 2 + reactos/base/setup/usetup/lang/nl-NL.h | 2 + reactos/base/setup/usetup/lang/pl-PL.h | 2 + reactos/base/setup/usetup/lang/pt-BR.h | 2 + reactos/base/setup/usetup/lang/ro-RO.h | 2 + reactos/base/setup/usetup/lang/ru-RU.h | 2 + reactos/base/setup/usetup/lang/sk-SK.h | 2 + reactos/base/setup/usetup/lang/sq-AL.h | 2 + reactos/base/setup/usetup/lang/sv-SE.h | 2 + reactos/base/setup/usetup/lang/tr-TR.h | 2 + reactos/base/setup/usetup/lang/uk-UA.h | 2 + reactos/base/setup/usetup/mui.h | 1 + reactos/base/setup/usetup/partlist.c | 26 ++++ reactos/base/setup/usetup/partlist.h | 5 + 26 files changed, 219 insertions(+), 5 deletions(-) diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index 800046acdc2..502e6cf286c 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -2131,8 +2131,146 @@ CreateExtendedPartitionPage(PINPUT_RECORD Ir) static PAGE_NUMBER CreateLogicalPartitionPage(PINPUT_RECORD Ir) { + PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + BOOLEAN Quit; + BOOLEAN Cancel; + CHAR InputBuffer[50]; + ULONG MaxSize; + ULONGLONG PartSize; + ULONGLONG DiskSize; + ULONGLONG SectorCount; + PCHAR Unit; - return SELECT_PARTITION_PAGE; + if (PartitionList == NULL || + PartitionList->CurrentDisk == NULL || + PartitionList->CurrentPartition == NULL) + { + /* FIXME: show an error dialog */ + return QUIT_PAGE; + } + + DiskEntry = PartitionList->CurrentDisk; + PartEntry = PartitionList->CurrentPartition; + + CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT)); + + CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_CHOOSE_NEW_LOGICAL_PARTITION)); + + DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; +#if 0 + if (DiskSize >= 10737418240) /* 10 GB */ + { + DiskSize = DiskSize / 1073741824; + Unit = MUIGetString(STRING_GB); + } + else +#endif + { + DiskSize = DiskSize / 1048576; + if (DiskSize == 0) + DiskSize = 1; + + Unit = MUIGetString(STRING_MB); + } + + if (DiskEntry->DriverName.Length > 0) + { + CONSOLE_PrintTextXY(6, 10, + MUIGetString(STRING_HDINFOPARTCREATE), + DiskSize, + Unit, + DiskEntry->DiskNumber, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id, + &DiskEntry->DriverName); + } + else + { + CONSOLE_PrintTextXY(6, 10, + MUIGetString(STRING_HDDINFOUNK1), + DiskSize, + Unit, + DiskEntry->DiskNumber, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id); + } + + CONSOLE_SetTextXY(6, 12, MUIGetString(STRING_HDDSIZE)); + +#if 0 + CONSOLE_PrintTextXY(8, 10, "Maximum size of the new partition is %I64u MB", + PartitionList->CurrentPartition->SectorCount * DiskEntry->BytesPerSector / 1048576); +#endif + + CONSOLE_SetStatusText(MUIGetString(STRING_CREATEPARTITION)); + + PartEntry = PartitionList->CurrentPartition; + while (TRUE) + { + MaxSize = (PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector) / 1048576; /* in MBytes (rounded) */ + + if (MaxSize > PARTITION_MAXSIZE) + MaxSize = PARTITION_MAXSIZE; + + ShowPartitionSizeInputBox(12, 14, xScreen - 12, 17, /* left, top, right, bottom */ + MaxSize, InputBuffer, &Quit, &Cancel); + + if (Quit == TRUE) + { + if (ConfirmQuit (Ir) == TRUE) + { + return QUIT_PAGE; + } + } + else if (Cancel == TRUE) + { + return SELECT_PARTITION_PAGE; + } + else + { + PartSize = atoi(InputBuffer); + + if (PartSize < 1) + { + /* Too small */ + continue; + } + + if (PartSize > MaxSize) + { + /* Too large */ + continue; + } + + /* Convert to bytes */ + if (PartSize == MaxSize) + { + /* Use all of the unpartitioned disk space */ + SectorCount = PartEntry->SectorCount.QuadPart; + } + else + { + /* Calculate the sector count from the size in MB */ + SectorCount = PartSize * 1048576 / DiskEntry->BytesPerSector; + + /* But never get larger than the unpartitioned disk space */ + if (SectorCount > PartEntry->SectorCount.QuadPart) + SectorCount = PartEntry->SectorCount.QuadPart; + } + + DPRINT("Partition size: %I64u bytes\n", PartSize); + + CreateLogicalPartition(PartitionList, + SectorCount); + + return SELECT_PARTITION_PAGE; + } + } + + return CREATE_LOGICAL_PARTITION_PAGE; } diff --git a/reactos/base/setup/usetup/lang/bg-BG.h b/reactos/base/setup/usetup/lang/bg-BG.h index d68f602a6a1..80aaaa867d1 100644 --- a/reactos/base/setup/usetup/lang/bg-BG.h +++ b/reactos/base/setup/usetup/lang/bg-BG.h @@ -1664,6 +1664,8 @@ MUI_STRING bgBGStrings[] = // "ˆ§¡à «¨ á⥠¤  áꧤ ¤¥â¥ ­®¢ ¤ï« ­ "}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "‚ꢥ¤¥â¥ à §¬¥à  ­  ­®¢¨ï ¤ï« (¢ ¬¥£ ¡ ©â¨)."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/cs-CZ.h b/reactos/base/setup/usetup/lang/cs-CZ.h index 8440fc22811..9e8071e465c 100644 --- a/reactos/base/setup/usetup/lang/cs-CZ.h +++ b/reactos/base/setup/usetup/lang/cs-CZ.h @@ -1660,6 +1660,8 @@ MUI_STRING csCZStrings[] = // "Zvolili jste vytvoýen¡ nov‚ho odd¡lu na"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Zadejte velikost nov‚ho odd¡lu v megabajtech."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/de-DE.h b/reactos/base/setup/usetup/lang/de-DE.h index e85dfb95f6d..ab58aae6ab7 100644 --- a/reactos/base/setup/usetup/lang/de-DE.h +++ b/reactos/base/setup/usetup/lang/de-DE.h @@ -466,7 +466,7 @@ static MUI_ENTRY deDERepairPageEntries[] = "nutzbaren Setups.", TEXT_STYLE_NORMAL }, - { + { 6, 14, "Die Reparaturfunktionen sind noch nicht implementiert.", @@ -915,7 +915,7 @@ static MUI_ENTRY deDEInstallDirectoryEntries[] = "Benutzen Sie die Entf-TASTE, um Zeichen zu l”schen.", TEXT_STYLE_NORMAL }, - { + { 6, 17, "Best„tigen Sie die Eingabe mit der EINGABETASTE.", @@ -1398,7 +1398,7 @@ MUI_ERROR deDEErrorEntries[] = { //ERROR_UPDATE_DISPLAY_SETTINGS, "Die Registrierungseintr„ge der Anzeigeeinstellungen\n" - "konnten nicht aktualisiert werden.", + "konnten nicht aktualisiert werden.", "EINGABETASTER = Computer neu starten" }, { @@ -1439,7 +1439,7 @@ MUI_ERROR deDEErrorEntries[] = { //ERROR_COPY_QUEUE, "Die Liste mit den zu kopierenden Dateien\n" - "konnte nicht gefunden werden.\n", + "konnte nicht gefunden werden.\n", "EINGABETASTE = Computer neu starten" }, { @@ -1654,6 +1654,8 @@ MUI_STRING deDEStrings[] = "Eine prim„re Partition soll hier erstellt werden:"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "Eine erweiterte Partition soll hier erstellt werden:"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "Ein logisches Laufwerk soll hier erstellt werden:"}, {STRING_HDDSIZE, "Bitte geben Sie die Gr”áe der neuen Partition in Megabyte ein."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/el-GR.h b/reactos/base/setup/usetup/lang/el-GR.h index d12bb6918ed..82d83d4dd4c 100644 --- a/reactos/base/setup/usetup/lang/el-GR.h +++ b/reactos/base/setup/usetup/lang/el-GR.h @@ -1676,6 +1676,8 @@ MUI_STRING elGRStrings[] = // "„§ ¢â¥˜«œ ¤˜ ›ž£ ¦¬¨šã©œ«œ ⤘ ¤â¦ partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "˜¨˜¡˜¢é ›é©«œ «¦ £âšœŸ¦ª «¦¬ partition ©œ megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/en-US.h b/reactos/base/setup/usetup/lang/en-US.h index 6b20c0889ca..7f752f39a8f 100644 --- a/reactos/base/setup/usetup/lang/en-US.h +++ b/reactos/base/setup/usetup/lang/en-US.h @@ -1648,6 +1648,8 @@ MUI_STRING enUSStrings[] = "You have chosen to create a primary partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/es-ES.h b/reactos/base/setup/usetup/lang/es-ES.h index 04a53da0268..d8bad41c343 100644 --- a/reactos/base/setup/usetup/lang/es-ES.h +++ b/reactos/base/setup/usetup/lang/es-ES.h @@ -1658,6 +1658,8 @@ MUI_STRING esESStrings[] = // "Ha elegido crear una nueva partici¢n en"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Por favor, introduzca el tama¤o de la nueva partici¢n en megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/et-EE.h b/reactos/base/setup/usetup/lang/et-EE.h index 71fdeceb0c5..e90023d4651 100644 --- a/reactos/base/setup/usetup/lang/et-EE.h +++ b/reactos/base/setup/usetup/lang/et-EE.h @@ -1649,6 +1649,8 @@ MUI_STRING etEEStrings[] = // "Oled valinud kettale uue partitsiooni loomise"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Sisesta uue partitsiooni suurus megabaitides."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/fr-FR.h b/reactos/base/setup/usetup/lang/fr-FR.h index 84ce39ae830..c4dac549943 100644 --- a/reactos/base/setup/usetup/lang/fr-FR.h +++ b/reactos/base/setup/usetup/lang/fr-FR.h @@ -1662,6 +1662,8 @@ MUI_STRING frFRStrings[] = "Vous avez choisi de cr‚er une partition primaire sur"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "Vous avez choisi de cr‚er une partition ‚tendue sur"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Veuillez entrer la taille de la nouvelle partition en m‚gaoctets."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/he-IL.h b/reactos/base/setup/usetup/lang/he-IL.h index 5b415a68d5d..b4a3945f232 100644 --- a/reactos/base/setup/usetup/lang/he-IL.h +++ b/reactos/base/setup/usetup/lang/he-IL.h @@ -1650,6 +1650,8 @@ MUI_STRING heILStrings[] = "You have chosen to create a primary partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/it-IT.h b/reactos/base/setup/usetup/lang/it-IT.h index 936f3b479d7..e911a748ed1 100644 --- a/reactos/base/setup/usetup/lang/it-IT.h +++ b/reactos/base/setup/usetup/lang/it-IT.h @@ -1653,6 +1653,8 @@ MUI_STRING itITStrings[] = // "Avete scelto di creare una nuova partizione su"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Indicare la dimensione della nuova partizione in megabyte."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ja-JP.h b/reactos/base/setup/usetup/lang/ja-JP.h index b70ecc999ee..691406625fe 100644 --- a/reactos/base/setup/usetup/lang/ja-JP.h +++ b/reactos/base/setup/usetup/lang/ja-JP.h @@ -1652,6 +1652,8 @@ MUI_STRING jaJPStrings[] = // "±À×¼² Ê߰輮ݦ Â·ÞÆ »¸¾²½Ù ºÄ¶Þ ¾ÝÀ¸ »ÚϼÀ:"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "±À×¼² Ê߰è¼®ÝÉ »²½Þ¦ Ò¶ÞÊÞ²Ä ÀݲÃÞ Æ­³Ø®¸ ¼Ã¸ÀÞ»²¡"}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/lt-LT.h b/reactos/base/setup/usetup/lang/lt-LT.h index fbb759ea6d8..7a7b4f746a5 100644 --- a/reactos/base/setup/usetup/lang/lt-LT.h +++ b/reactos/base/setup/usetup/lang/lt-LT.h @@ -1659,6 +1659,8 @@ MUI_STRING ltLTStrings[] = "You have chosen to create a primary partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/nl-NL.h b/reactos/base/setup/usetup/lang/nl-NL.h index dac2f565e52..167e1095b0d 100644 --- a/reactos/base/setup/usetup/lang/nl-NL.h +++ b/reactos/base/setup/usetup/lang/nl-NL.h @@ -1697,6 +1697,8 @@ MUI_STRING nlNLStrings[] = // "U wilt een nieuwe partitie aanmaken op"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Voert u de grootte van de nieuwe partitie in in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/pl-PL.h b/reactos/base/setup/usetup/lang/pl-PL.h index a9e8c72065b..3d700c44004 100644 --- a/reactos/base/setup/usetup/lang/pl-PL.h +++ b/reactos/base/setup/usetup/lang/pl-PL.h @@ -1661,6 +1661,8 @@ MUI_STRING plPLStrings[] = // "Wybrane: utworzenie nowej partycji na"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Prosz© wprowadzi† rozmiar nowej partycji w megabajtach."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/pt-BR.h b/reactos/base/setup/usetup/lang/pt-BR.h index fc8ef341d0d..19ad6719180 100644 --- a/reactos/base/setup/usetup/lang/pt-BR.h +++ b/reactos/base/setup/usetup/lang/pt-BR.h @@ -1688,6 +1688,8 @@ MUI_STRING ptBRStrings[] = // "Vocˆ solicitou a cria‡Æo de uma nova parti‡Æo em"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Por favor, insira o tamanho da nova parti‡Æo em megabytes (MB)."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ro-RO.h b/reactos/base/setup/usetup/lang/ro-RO.h index d6b94251485..fce9d70af8e 100644 --- a/reactos/base/setup/usetup/lang/ro-RO.h +++ b/reactos/base/setup/usetup/lang/ro-RO.h @@ -1729,6 +1729,8 @@ MUI_STRING roROStrings[] = // "Aîi ales crearea unei noi partiîii pe"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Introduceîi mÇrimea noii partiîii Œn megaocteîi."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ru-RU.h b/reactos/base/setup/usetup/lang/ru-RU.h index 852c2638977..d8385038bd2 100644 --- a/reactos/base/setup/usetup/lang/ru-RU.h +++ b/reactos/base/setup/usetup/lang/ru-RU.h @@ -1653,6 +1653,8 @@ MUI_STRING ruRUStrings[] = // "‚ë å®â¨â¥ á®§¤ âì ­®¢ë© à §¤¥« ­ "}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "®¦ «ã©áâ , ¢¢¥¤¨â¥ à §¬¥à ­®¢®£® à §¤¥«  ¢ ¬¥£ ¡ ©â å."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sk-SK.h b/reactos/base/setup/usetup/lang/sk-SK.h index 74e2ee3f9af..1373b270101 100644 --- a/reactos/base/setup/usetup/lang/sk-SK.h +++ b/reactos/base/setup/usetup/lang/sk-SK.h @@ -1663,6 +1663,8 @@ MUI_STRING skSKStrings[] = // "Zvolili ste vytvorenie novej oblasti na"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Zadajte, pros¡m, ve–kosœ novej oblasti v megabajtoch."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sq-AL.h b/reactos/base/setup/usetup/lang/sq-AL.h index f23fc7c35ca..906fd89e5f7 100644 --- a/reactos/base/setup/usetup/lang/sq-AL.h +++ b/reactos/base/setup/usetup/lang/sq-AL.h @@ -1655,6 +1655,8 @@ MUI_STRING sqALStrings[] = "Ju keni zgjedhur p‰r t‰ krijuar nj‰ ndarje t‰ re n‰"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Ju lutem, jepini madh‰sin‰ e particionit t‰ ri n‰ megabajt."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sv-SE.h b/reactos/base/setup/usetup/lang/sv-SE.h index 3ee1326128d..c9101b628a8 100644 --- a/reactos/base/setup/usetup/lang/sv-SE.h +++ b/reactos/base/setup/usetup/lang/sv-SE.h @@ -1658,6 +1658,8 @@ MUI_STRING svSEStrings[] = // "Du har valt att skapa en ny partiton p†"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "V„nligen skriv in storleken av den nya partitionen i megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/tr-TR.h b/reactos/base/setup/usetup/lang/tr-TR.h index d8058795bba..47b4d812869 100644 --- a/reactos/base/setup/usetup/lang/tr-TR.h +++ b/reactos/base/setup/usetup/lang/tr-TR.h @@ -1626,6 +1626,8 @@ MUI_STRING trTRStrings[] = // "Yeni bir b”lm oluŸturmay se‡tiniz."}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "OluŸturulacak b”lmn bykl§n mega‡oklu olarak giriniz."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/uk-UA.h b/reactos/base/setup/usetup/lang/uk-UA.h index 2d538b7a36c..aa723b0308b 100644 --- a/reactos/base/setup/usetup/lang/uk-UA.h +++ b/reactos/base/setup/usetup/lang/uk-UA.h @@ -1658,6 +1658,8 @@ MUI_STRING ukUAStrings[] = // "‚¨ å®ç¥â¥ á⢮à¨â¨ ­®¢¨© à®§¤i« ­ "}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "ã¤ì-« áª , ¢¢¥¤iâì à®§¬ià ­®¢®£® à®§¤i«ã ¢ ¬¥£ ¡ ©â å."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/mui.h b/reactos/base/setup/usetup/mui.h index f36317c0f44..d8b0f1bf289 100644 --- a/reactos/base/setup/usetup/mui.h +++ b/reactos/base/setup/usetup/mui.h @@ -105,6 +105,7 @@ MUIGetString( #define STRING_PARTITIONSIZE 4 #define STRING_CHOOSENEWPARTITION 5 #define STRING_CHOOSE_NEW_EXTENDED_PARTITION 57 +#define STRING_CHOOSE_NEW_LOGICAL_PARTITION 61 #define STRING_HDDSIZE 6 #define STRING_CREATEPARTITION 7 #define STRING_PARTFORMAT 8 diff --git a/reactos/base/setup/usetup/partlist.c b/reactos/base/setup/usetup/partlist.c index d48a1bf2109..fd6c6137477 100644 --- a/reactos/base/setup/usetup/partlist.c +++ b/reactos/base/setup/usetup/partlist.c @@ -2577,6 +2577,32 @@ DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); } +VOID +CreateLogicalPartition( + PPARTLIST List, + ULONGLONG SectorCount) +{ +// PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; +// PPARTENTRY NewPartEntry; + + DPRINT1("CreateLogicalPartition(%I64u)\n", SectorCount); + + if (List == NULL || + List->CurrentDisk == NULL || + List->CurrentPartition == NULL || + List->CurrentPartition->IsPartitioned == TRUE) + { + return; + } + +// DiskEntry = List->CurrentDisk; + PartEntry = List->CurrentPartition; + + DPRINT1("Current partition sector count: %I64u\n", PartEntry->SectorCount.QuadPart); +} + + VOID DeleteCurrentPartition( PPARTLIST List) diff --git a/reactos/base/setup/usetup/partlist.h b/reactos/base/setup/usetup/partlist.h index ad4765a5669..a4e5871edcd 100644 --- a/reactos/base/setup/usetup/partlist.h +++ b/reactos/base/setup/usetup/partlist.h @@ -230,6 +230,11 @@ CreateExtendedPartition( PPARTLIST List, ULONGLONG PartitionSize); +VOID +CreateLogicalPartition( + PPARTLIST List, + ULONGLONG PartitionSize); + VOID DeleteCurrentPartition( PPARTLIST List); From 87b791fd9e34c8666a7de289385bbf7d4e090d61 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Mon, 9 Jun 2014 12:56:05 +0000 Subject: [PATCH 063/120] [NET] Convert help and usage texts to string resources. svn path=/trunk/; revision=63575 --- .../applications/network/net/cmdHelpMsg.c | 4 +- .../base/applications/network/net/cmdPause.c | 2 +- .../base/applications/network/net/cmdStop.c | 3 +- reactos/base/applications/network/net/help.c | 146 +++++++----------- .../applications/network/net/lang/en-US.rc | 56 ++++++- reactos/base/applications/network/net/main.c | 6 +- .../base/applications/network/net/resource.h | 48 +++++- 7 files changed, 161 insertions(+), 104 deletions(-) diff --git a/reactos/base/applications/network/net/cmdHelpMsg.c b/reactos/base/applications/network/net/cmdHelpMsg.c index d7766c0a1cf..02259a09c8e 100644 --- a/reactos/base/applications/network/net/cmdHelpMsg.c +++ b/reactos/base/applications/network/net/cmdHelpMsg.c @@ -19,14 +19,14 @@ INT cmdHelpMsg(INT argc, WCHAR **argv) if (argc < 3) { - puts("Usage: NET HELPMSG "); + PrintResourceString(IDS_HELPMSG_SYNTAX); return 1; } errNum = wcstol(argv[2], &endptr, 10); if (*endptr != 0) { - puts("Usage: NET HELPMSG "); + PrintResourceString(IDS_HELPMSG_SYNTAX); return 1; } diff --git a/reactos/base/applications/network/net/cmdPause.c b/reactos/base/applications/network/net/cmdPause.c index 02278939c98..4ade493b76e 100644 --- a/reactos/base/applications/network/net/cmdPause.c +++ b/reactos/base/applications/network/net/cmdPause.c @@ -18,7 +18,7 @@ INT cmdPause(INT argc, WCHAR **argv) if (argc != 3) { - puts("Usage: NET PAUSE "); + PrintResourceString(IDS_PAUSE_SYNTAX); return 1; } diff --git a/reactos/base/applications/network/net/cmdStop.c b/reactos/base/applications/network/net/cmdStop.c index 3f395219424..7938c28eb00 100644 --- a/reactos/base/applications/network/net/cmdStop.c +++ b/reactos/base/applications/network/net/cmdStop.c @@ -19,8 +19,7 @@ INT cmdStop(INT argc, WCHAR **argv) if (argc != 3) { - /* FIXME: Print usage message! */ - printf("Usage: NET STOP \n"); + PrintResourceString(IDS_STOP_SYNTAX); return 1; } diff --git a/reactos/base/applications/network/net/help.c b/reactos/base/applications/network/net/help.c index 46061566801..cce77a68418 100644 --- a/reactos/base/applications/network/net/help.c +++ b/reactos/base/applications/network/net/help.c @@ -13,184 +13,150 @@ INT cmdHelp(INT argc, WCHAR **argv) { if (argc != 3) { - return 0; + PrintResourceString(IDS_HELP_SYNTAX); + return 0; } - if (_wcsicmp(argv[2],L"ACCOUNTS")==0) + if (_wcsicmp(argv[2],L"ACCOUNTS") == 0) { PrintResourceString(IDS_ACCOUNTS_HELP); return 0; } - if (_wcsicmp(argv[2],L"COMPUTER")==0) + if (_wcsicmp(argv[2],L"COMPUTER") == 0) { - puts("COMPUTER"); - puts("help text"); + PrintResourceString(IDS_COMPUTER_HELP); return 0; } - if (_wcsicmp(argv[2],L"CONFIG")==0) + if (_wcsicmp(argv[2],L"CONFIG") == 0) { - puts("CONFIG"); - puts("help text"); + PrintResourceString(IDS_CONFIG_HELP); return 0; } - if (_wcsicmp(argv[2],L"CONTINUE")==0) + if (_wcsicmp(argv[2],L"CONTINUE") == 0) { PrintResourceString(IDS_CONTINUE_HELP); return 0; } - if (_wcsicmp(argv[2],L"FILE")==0) + if (_wcsicmp(argv[2],L"FILE") == 0) { - puts("FILE"); - puts("help text"); + PrintResourceString(IDS_FILE_HELP); return 0; } - if (_wcsicmp(argv[2],L"GROUP")==0) + if (_wcsicmp(argv[2],L"GROUP") == 0) { - puts("GROUP"); - puts("help text"); + PrintResourceString(IDS_GROUP_HELP); return 0; } - if (_wcsicmp(argv[2],L"HELP")==0) + if (_wcsicmp(argv[2],L"HELPMSG") == 0) { - puts("HELP"); - puts("help text"); + PrintResourceString(IDS_HELPMSG_HELP); return 0; } - if (_wcsicmp(argv[2],L"HELPMSG")==0) + if (_wcsicmp(argv[2],L"LOCALGROUP") == 0) { - puts("HELPMSG"); - puts("help text"); + PrintResourceString(IDS_LOCALGROUP_HELP); return 0; } - if (_wcsicmp(argv[2],L"LOCALGROUP")==0) + if (_wcsicmp(argv[2],L"NAME") == 0) { - puts("LOCALGROUP"); - puts("help text"); + PrintResourceString(IDS_NAME_HELP); return 0; } - if (_wcsicmp(argv[2],L"NAME")==0) + if (_wcsicmp(argv[2],L"PAUSE") == 0) { - puts("NAME"); - puts("help text"); + PrintResourceString(IDS_PAUSE_HELP); return 0; } - if (_wcsicmp(argv[2],L"PRINT")==0) + if (_wcsicmp(argv[2],L"PRINT") == 0) { - puts("PRINT"); - puts("help text"); + PrintResourceString(IDS_PRINT_HELP); return 0; } - if (_wcsicmp(argv[2],L"SEND")==0) + if (_wcsicmp(argv[2],L"SEND") == 0) { - puts("SEND"); - puts("help text"); + PrintResourceString(IDS_SEND_HELP); return 0; } - if (_wcsicmp(argv[2],L"SESSION")==0) + if (_wcsicmp(argv[2],L"SESSION") == 0) { - puts("SESSION"); - puts("help text"); + PrintResourceString(IDS_SESSION_HELP); return 0; } - if (_wcsicmp(argv[2],L"SHARE")==0) + if (_wcsicmp(argv[2],L"SHARE") == 0) { - puts("SHARE"); - puts("help text"); + PrintResourceString(IDS_SHARE_HELP); return 0; } - if (_wcsicmp(argv[2],L"START")==0) + if (_wcsicmp(argv[2],L"START") == 0) { - puts("START"); - puts("help text"); + PrintResourceString(IDS_START_HELP); return 0; } - if (_wcsicmp(argv[2],L"STATISTICS")==0) + if (_wcsicmp(argv[2],L"STATISTICS") == 0) { - puts("STATISTICS"); - puts("help text"); + PrintResourceString(IDS_STATISTICS_HELP); return 0; } - if (_wcsicmp(argv[2],L"STOP")==0) + if (_wcsicmp(argv[2],L"STOP") == 0) { - puts("STOP"); - puts("help text"); + PrintResourceString(IDS_STOP_HELP); return 0; } - if (_wcsicmp(argv[2],L"TIME")==0) + if (_wcsicmp(argv[2],L"TIME") == 0) { - puts("TIME"); - puts("help text"); + PrintResourceString(IDS_TIME_HELP); return 0; } - if (_wcsicmp(argv[2],L"USE")==0) + if (_wcsicmp(argv[2],L"USE") == 0) { - puts("USE"); - puts("help text"); + PrintResourceString(IDS_USE_HELP); return 0; } - if (_wcsicmp(argv[2],L"USER")==0) + if (_wcsicmp(argv[2],L"USER") == 0) { - puts("USER"); - puts("help text"); + PrintResourceString(IDS_USER_HELP); return 0; } - if (_wcsicmp(argv[2],L"VIEW")==0) + if (_wcsicmp(argv[2],L"VIEW") == 0) { - puts("VIEW"); - puts("help text"); + PrintResourceString(IDS_VIEW_HELP); return 0; } - help(); +#if 0 + if (_wcsicmp(argv[2],L"SERVICES") == 0) + { + return 0; + } + + if (_wcsicmp(argv[2],L"SYNTAX") == 0) + { + return 0; + } +#endif + + PrintResourceString(IDS_HELP_SYNTAX); + return 0; } -VOID help(VOID) -{ - puts("NET ACCOUNTS"); - puts("NET COMPUTER"); - puts("NET CONFIG"); - puts("NET CONFIG SERVER"); - puts("NET CONFIG WORKSTATION"); - puts("NET CONTINUE"); - puts("NET FILE"); - puts("NET GROUP"); - - puts("NET HELP"); - puts("NET HELPMSG"); - puts("NET LOCALGROUP"); - puts("NET NAME"); - puts("NET PAUSE"); - puts("NET PRINT"); - puts("NET SEND"); - puts("NET SESSION"); - - puts("NET SHARE"); - puts("NET START"); - puts("NET STATISTICS"); - puts("NET STOP"); - puts("NET TIME"); - puts("NET USE"); - puts("NET USER"); - puts("NET VIEW"); -} diff --git a/reactos/base/applications/network/net/lang/en-US.rc b/reactos/base/applications/network/net/lang/en-US.rc index 99cd546c185..3571f66f186 100644 --- a/reactos/base/applications/network/net/lang/en-US.rc +++ b/reactos/base/applications/network/net/lang/en-US.rc @@ -5,7 +5,59 @@ BEGIN IDS_ACCOUNTS_SYNTAX "Usage:\nNET ACCOUNTS [/FORCELOGOFF:{Minutes|NO}] [/MINPWLEN:Length]\n\ [/MAXPWAGE:{Days|UNLIMITED}] [/MINPWAGE:Days]\n\ [/UNIQUEPW:Count] [/DOMAIN]\n" - IDS_ACCOUNTS_HELP "ACCOUNTS\nhelp text" + IDS_ACCOUNTS_HELP "ACCOUNTS\n..." + IDS_COMPUTER_SYNTAX "Usage:\nNET COMPUTER ..." + IDS_COMPUTER_HELP "COMPUTER\n..." + IDS_CONFIG_SYNTAX "Usage:\nNET CONFIG ..." + IDS_CONFIG_HELP "CONFIG\n..." IDS_CONTINUE_SYNTAX "Usage:\nNET CONTINUE " - IDS_CONTINUE_HELP "CONTINUE\nhelp text" + IDS_CONTINUE_HELP "CONTINUE\n..." + IDS_FILE_SYNTAX "Usage:\nNET FILE ..." + IDS_FILE_HELP "FILE\n..." + IDS_GROUP_SYNTAX "Usage:\nNET GROUP ..." + IDS_GROUP_HELP "GROUP\n..." + IDS_HELPMSG_SYNTAX "Usage:\nNET HELPMSG " + IDS_HELPMSG_HELP "HELPMSG\n..." + IDS_LOCALGROUP_SYNTAX "Usage:\nNET LOCALGROUP ..." + IDS_LOCALGROUP_HELP "LOCALGROUP\n..." + IDS_NAME_SYNTAX "Usage:\nNET NAME ..." + IDS_NAME_HELP "NAME\n..." + IDS_PRINT_SYNTAX "Usage:\nNET PRINT ..." + IDS_PRINT_HELP "PRINT\n..." + IDS_PAUSE_SYNTAX "Usage:\nNET PAUSE " + IDS_PAUSE_HELP "PAUSE\n..." + IDS_SEND_SYNTAX "Usage:\nNET SEND ..." + IDS_SEND_HELP "SEND\n..." + IDS_SESSION_SYNTAX "Usage:\nNET SESSION ..." + IDS_SESSION_HELP "SESSION\n..." + IDS_SHARE_SYNTAX "Usage:\nNET SHARE ..." + IDS_SHARE_HELP "SHARE\n..." + IDS_START_SYNTAX "Usage:\nNET START ..." + IDS_START_HELP "START\n..." + IDS_STATISTICS_SYNTAX "Usage:\nNET STATISTICS ..." + IDS_STATISTICS_HELP "STATISTICS\n..." + IDS_STOP_SYNTAX "Usage:\nNET STOP " + IDS_STOP_HELP "STOP\n..." + IDS_TIME_SYNTAX "Usage:\nNET TIME ..." + IDS_TIME_HELP "TIME\n..." + IDS_USE_SYNTAX "Usage:\nNET USE ..." + IDS_USE_HELP "USE\n..." + IDS_USER_SYNTAX "Usage:\nNET USER ..." + IDS_USER_HELP "USER\n..." + IDS_VIEW_SYNTAX "Usage:\nNET VIEW ..." + IDS_VIEW_HELP "VIEW\n..." + IDS_HELP_SYNTAX "Usage:\nNET HELP \n - or -\nNET /HELP\n\n\ + The following commands are available:\n\n\ + NET ACCOUNTS NET HELP NET SHARE\n\ + NET COMPUTER NET HELPMSG NET START\n\ + NET CONFIG NET LOCALGROUP NET STATISTICS\n\ + NET CONFIG SERVER NET NAME NET STOP\n\ + NET CONFIG WORKSTATION NET PAUSE NET TIME\n\ + NET CONTINUE NET PRINT NET USE\n\ + NET FILE NET SEND NET USER\n\ + NET GROUP NET SESSION NET VIEW\n\n\ + ..." + IDS_NET_SYNTAX "Usage:\nNET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |\n\ + HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\ + SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n" END diff --git a/reactos/base/applications/network/net/main.c b/reactos/base/applications/network/net/main.c index b0ae7a9c897..f1560dd06f3 100644 --- a/reactos/base/applications/network/net/main.c +++ b/reactos/base/applications/network/net/main.c @@ -30,8 +30,8 @@ COMMAND cmds[] = {L"helpmsg", cmdHelpMsg}, {L"localgroup", unimplemented}, {L"name", unimplemented}, - {L"print", unimplemented}, {L"pause", cmdPause}, + {L"print", unimplemented}, {L"send", unimplemented}, {L"session", unimplemented}, {L"share", unimplemented}, @@ -67,7 +67,7 @@ int wmain(int argc, WCHAR **argv) if (argc < 2) { - help(); + PrintResourceString(IDS_NET_SYNTAX); return 1; } @@ -80,7 +80,7 @@ int wmain(int argc, WCHAR **argv) } } - help(); + PrintResourceString(IDS_NET_SYNTAX); return 1; } diff --git a/reactos/base/applications/network/net/resource.h b/reactos/base/applications/network/net/resource.h index e19726bc195..f13e3e1d881 100644 --- a/reactos/base/applications/network/net/resource.h +++ b/reactos/base/applications/network/net/resource.h @@ -1,6 +1,46 @@ #pragma once -#define IDS_ACCOUNTS_SYNTAX 100 -#define IDS_ACCOUNTS_HELP 101 -#define IDS_CONTINUE_SYNTAX 102 -#define IDS_CONTINUE_HELP 103 +#define IDS_ACCOUNTS_SYNTAX 100 +#define IDS_ACCOUNTS_HELP 101 +#define IDS_COMPUTER_SYNTAX 102 +#define IDS_COMPUTER_HELP 103 +#define IDS_CONFIG_SYNTAX 104 +#define IDS_CONFIG_HELP 105 +#define IDS_CONTINUE_SYNTAX 106 +#define IDS_CONTINUE_HELP 107 +#define IDS_FILE_SYNTAX 108 +#define IDS_FILE_HELP 109 +#define IDS_GROUP_SYNTAX 110 +#define IDS_GROUP_HELP 111 +#define IDS_HELPMSG_SYNTAX 112 +#define IDS_HELPMSG_HELP 113 +#define IDS_LOCALGROUP_SYNTAX 114 +#define IDS_LOCALGROUP_HELP 115 +#define IDS_NAME_SYNTAX 116 +#define IDS_NAME_HELP 117 +#define IDS_PAUSE_SYNTAX 118 +#define IDS_PAUSE_HELP 119 +#define IDS_PRINT_SYNTAX 120 +#define IDS_PRINT_HELP 121 +#define IDS_SEND_SYNTAX 122 +#define IDS_SEND_HELP 123 +#define IDS_SESSION_SYNTAX 124 +#define IDS_SESSION_HELP 125 +#define IDS_SHARE_SYNTAX 126 +#define IDS_SHARE_HELP 127 +#define IDS_START_SYNTAX 128 +#define IDS_START_HELP 129 +#define IDS_STATISTICS_SYNTAX 130 +#define IDS_STATISTICS_HELP 131 +#define IDS_STOP_SYNTAX 132 +#define IDS_STOP_HELP 133 +#define IDS_TIME_SYNTAX 134 +#define IDS_TIME_HELP 135 +#define IDS_USE_SYNTAX 136 +#define IDS_USE_HELP 137 +#define IDS_USER_SYNTAX 138 +#define IDS_USER_HELP 139 +#define IDS_VIEW_SYNTAX 140 +#define IDS_VIEW_HELP 141 +#define IDS_HELP_SYNTAX 142 +#define IDS_NET_SYNTAX 143 From 3629ad50aa3aaf2aa4cff74429655afbdc89317d Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Mon, 9 Jun 2014 13:31:38 +0000 Subject: [PATCH 064/120] [WIN32K/FREETYPE] * Consider current WorldTransform in ExtTextOutW. * Brought to you by Manuel "Tarnyko" Bachmann. Fix improved by Timo Kreuzer and me. CORE-8306 #resolve #comment Fixed in r63576. Thanks! svn path=/trunk/; revision=63576 --- reactos/win32ss/gdi/ntgdi/freetype.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/reactos/win32ss/gdi/ntgdi/freetype.c b/reactos/win32ss/gdi/ntgdi/freetype.c index c30b46b038d..5ac3b60af37 100644 --- a/reactos/win32ss/gdi/ntgdi/freetype.c +++ b/reactos/win32ss/gdi/ntgdi/freetype.c @@ -19,6 +19,8 @@ #include #include +#include + #define NDEBUG #include @@ -3228,6 +3230,7 @@ GreExtTextOutW( USHORT DxShift; PMATRIX pmxWorldToDevice; LONG fixAscender, fixDescender; + FLOATOBJ Scale; // TODO: Write test-cases to exactly match real Windows in different // bad parameters (e.g. does Windows check the DC or the RECT first?). @@ -3671,8 +3674,13 @@ GreExtTextOutW( } else { - TextLeft += Dx[i<mxWorldToDevice.efM11; + if (_FLOATOBJ_Equal0(&Scale)) + FLOATOBJ_Set1(&Scale); + + FLOATOBJ_MulLong(&Scale, Dx[i< Date: Mon, 9 Jun 2014 13:36:20 +0000 Subject: [PATCH 065/120] [WIN32K] * Improve FLOATOBJ_Set{0,1}. By Timo. svn path=/trunk/; revision=63577 --- reactos/win32ss/gdi/eng/floatobj.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/win32ss/gdi/eng/floatobj.h b/reactos/win32ss/gdi/eng/floatobj.h index 91fe93e399b..8101c5fdb33 100644 --- a/reactos/win32ss/gdi/eng/floatobj.h +++ b/reactos/win32ss/gdi/eng/floatobj.h @@ -63,8 +63,8 @@ extern const FLOATOBJ gef16; #define FLOATOBJ_16 {0x40000000, 0x00000006} #define FLOATOBJ_1_16 {0x40000000, 0xfffffffe} -#define FLOATOBJ_Set0(fo) (fo)->ul1 = 0; (fo)->ul2 = 0; -#define FLOATOBJ_Set1(fo) (fo)->ul1 = 0x40000000; (fo)->ul2 = 2; +#define FLOATOBJ_Set0(fo) do { (fo)->ul1 = 0; (fo)->ul2 = 0; } while (0) +#define FLOATOBJ_Set1(fo) do { (fo)->ul1 = 0x40000000; (fo)->ul2 = 2; } while (0) #else From b1847abb7709fc3f7c24a396d8f387ebf5d04706 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Mon, 9 Jun 2014 16:48:59 +0000 Subject: [PATCH 066/120] [KERNEL32] - Add defines for internal flags for BasepCopyFileExW(). - Add prototype for BasepCopyFileExW(). Based on documentation by Alex. svn path=/trunk/; revision=63578 --- reactos/dll/win32/kernel32/include/kernel32.h | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/reactos/dll/win32/kernel32/include/kernel32.h b/reactos/dll/win32/kernel32/include/kernel32.h index dad3f12904f..383a1061222 100644 --- a/reactos/dll/win32/kernel32/include/kernel32.h +++ b/reactos/dll/win32/kernel32/include/kernel32.h @@ -131,6 +131,17 @@ DWORD extern WaitForInputIdleType UserWaitForInputIdleRoutine; +/* Flags for PrivCopyFileExW && BasepCopyFileExW */ +#define BASEP_COPY_METADATA 0x10 +#define BASEP_COPY_SACL 0x20 +#define BASEP_COPY_OWNER_AND_GROUP 0x40 +#define BASEP_COPY_DIRECTORY 0x80 +#define BASEP_COPY_BACKUP_SEMANTICS 0x100 +#define BASEP_COPY_REPLACE 0x200 +#define BASEP_COPY_SKIP_DACL 0x400 +#define BASEP_COPY_PUBLIC_MASK 0xF +#define BASEP_COPY_BASEP_MASK 0xFFFFFFF0 + /* GLOBAL VARIABLES **********************************************************/ extern BOOL bIsFileApiAnsi; @@ -422,6 +433,18 @@ BaseMarkFileForDelete( IN ULONG FileAttributes ); +BOOL +BasepCopyFileExW( + IN LPCWSTR lpExistingFileName, + IN LPCWSTR lpNewFileName, + IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL, + IN LPVOID lpData OPTIONAL, + IN LPBOOL pbCancel OPTIONAL, + IN DWORD dwCopyFlags, + IN DWORD dwBasepFlags, + OUT LPHANDLE lpExistingHandle, + OUT LPHANDLE lpNewHandle +); /* FIXME: This is EXPORTED! It should go in an external kernel32.h header */ VOID From 9bf52b7156e3a54da7f097f793ca1437cc7283e6 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Mon, 9 Jun 2014 16:53:39 +0000 Subject: [PATCH 067/120] [KERNEL32] - Move CopyFileExW() implementation to BasepCopyFileExW() - Call BasepCopyFileExW() from CopyFileExW() - Implement PrivCopyFileExW() using BasepCopyFileExW() TODO: Fix BasepCopyFileExW() implementation svn path=/trunk/; revision=63579 --- reactos/dll/win32/kernel32/client/file/copy.c | 125 ++++++++++++++---- 1 file changed, 102 insertions(+), 23 deletions(-) diff --git a/reactos/dll/win32/kernel32/client/file/copy.c b/reactos/dll/win32/kernel32/client/file/copy.c index 99b96c19c64..3eb763d86a2 100644 --- a/reactos/dll/win32/kernel32/client/file/copy.c +++ b/reactos/dll/win32/kernel32/client/file/copy.c @@ -191,20 +191,16 @@ SetLastWriteTime( return errCode; } - -/* - * @implemented - */ BOOL -WINAPI -CopyFileExW ( - LPCWSTR lpExistingFileName, - LPCWSTR lpNewFileName, - LPPROGRESS_ROUTINE lpProgressRoutine, - LPVOID lpData, - BOOL *pbCancel, - DWORD dwCopyFlags -) +BasepCopyFileExW(IN LPCWSTR lpExistingFileName, + IN LPCWSTR lpNewFileName, + IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL, + IN LPVOID lpData OPTIONAL, + IN LPBOOL pbCancel OPTIONAL, + IN DWORD dwCopyFlags, + IN DWORD dwBasepFlags, + OUT LPHANDLE lpExistingHandle, + OUT LPHANDLE lpNewHandle) { NTSTATUS errCode; HANDLE FileHandleSource, FileHandleDest; @@ -307,6 +303,53 @@ CopyFileExW ( return RC; } +/* + * @implemented + */ +BOOL +WINAPI +CopyFileExW(IN LPCWSTR lpExistingFileName, + IN LPCWSTR lpNewFileName, + IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL, + IN LPVOID lpData OPTIONAL, + IN LPBOOL pbCancel OPTIONAL, + IN DWORD dwCopyFlags) +{ + BOOL Ret; + HANDLE ExistingHandle, NewHandle; + + ExistingHandle = INVALID_HANDLE_VALUE; + NewHandle = INVALID_HANDLE_VALUE; + + _SEH2_TRY + { + Ret = BasepCopyFileExW(lpExistingFileName, + lpNewFileName, + lpProgressRoutine, + lpData, + pbCancel, + dwCopyFlags, + 0, + &ExistingHandle, + &NewHandle); + } + _SEH2_FINALLY + { + if (ExistingHandle != INVALID_HANDLE_VALUE) + { + CloseHandle(ExistingHandle); + } + + if (NewHandle != INVALID_HANDLE_VALUE) + { + CloseHandle(NewHandle); + } + } + _SEH2_END; + + return Ret; +} + /* * @implemented @@ -404,17 +447,53 @@ CopyFileW(IN LPCWSTR lpExistingFileName, */ BOOL WINAPI -PrivCopyFileExW ( - LPCWSTR lpExistingFileName, - LPCWSTR lpNewFileName, - LPPROGRESS_ROUTINE lpProgressRoutine, - LPVOID lpData, - BOOL *pbCancel, - DWORD dwCopyFlags -) +PrivCopyFileExW(IN LPCWSTR lpExistingFileName, + IN LPCWSTR lpNewFileName, + IN LPPROGRESS_ROUTINE lpProgressRoutine, + IN LPVOID lpData, + IN LPBOOL pbCancel, + IN DWORD dwCopyFlags) { - UNIMPLEMENTED; - return FALSE; + BOOL Ret; + HANDLE ExistingHandle, NewHandle; + + ExistingHandle = INVALID_HANDLE_VALUE; + NewHandle = INVALID_HANDLE_VALUE; + + /* Check for incompatible flags */ + if (dwCopyFlags & COPY_FILE_FAIL_IF_EXISTS && dwCopyFlags & BASEP_COPY_REPLACE) + { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + + _SEH2_TRY + { + Ret = BasepCopyFileExW(lpExistingFileName, + lpNewFileName, + lpProgressRoutine, + lpData, + pbCancel, + dwCopyFlags & BASEP_COPY_PUBLIC_MASK, + dwCopyFlags & BASEP_COPY_BASEP_MASK, + &ExistingHandle, + &NewHandle); + } + _SEH2_FINALLY + { + if (ExistingHandle != INVALID_HANDLE_VALUE) + { + CloseHandle(ExistingHandle); + } + + if (NewHandle != INVALID_HANDLE_VALUE) + { + CloseHandle(NewHandle); + } + } + _SEH2_END; + + return Ret; } /* EOF */ From ed3c1868ad9aaab043750244a61ec3446ab91bb5 Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Mon, 9 Jun 2014 18:21:03 +0000 Subject: [PATCH 068/120] [NTOS:MM] MmUnmapViewOfCacheSegment expects DeleteInProgress to be FALSE and the address space to be unlocked. Allow unmapping memory areas which belong to the cache. svn path=/trunk/; revision=63580 --- reactos/ntoskrnl/mm/section.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/reactos/ntoskrnl/mm/section.c b/reactos/ntoskrnl/mm/section.c index af8719277e5..e30cc2a0f86 100644 --- a/reactos/ntoskrnl/mm/section.c +++ b/reactos/ntoskrnl/mm/section.c @@ -4090,15 +4090,22 @@ MmUnmapViewOfSegment(PMMSUPPORT AddressSpace, return(STATUS_UNSUCCESSFUL); } - MemoryArea->DeleteInProgress = TRUE; Section = MemoryArea->Data.SectionData.Section; Segment = MemoryArea->Data.SectionData.Segment; #ifdef NEWCC - if (Segment->Flags & MM_DATAFILE_SEGMENT) - return MmUnmapViewOfCacheSegment(AddressSpace, BaseAddress); + if (Segment->Flags & MM_DATAFILE_SEGMENT) + { + MmUnlockAddressSpace(AddressSpace); + Status = MmUnmapViewOfCacheSegment(AddressSpace, BaseAddress); + MmLockAddressSpace(AddressSpace); + + return Status; + } #endif + MemoryArea->DeleteInProgress = TRUE; + MmLockSectionSegment(Segment); RegionListHead = &MemoryArea->Data.SectionData.RegionListHead; @@ -4151,7 +4158,8 @@ MiRosUnmapViewOfSection(IN PEPROCESS Process, MemoryArea = MmLocateMemoryAreaByAddress(AddressSpace, BaseAddress); if (MemoryArea == NULL || - MemoryArea->Type != MEMORY_AREA_SECTION_VIEW || + ((MemoryArea->Type != MEMORY_AREA_SECTION_VIEW) && + (MemoryArea->Type != MEMORY_AREA_CACHE)) || MemoryArea->DeleteInProgress) { if (MemoryArea) NT_ASSERT(MemoryArea->Type != MEMORY_AREA_OWNED_BY_ARM3); @@ -4159,11 +4167,9 @@ MiRosUnmapViewOfSection(IN PEPROCESS Process, return STATUS_NOT_MAPPED_VIEW; } - MemoryArea->DeleteInProgress = TRUE; - Section = MemoryArea->Data.SectionData.Section; - if (Section->AllocationAttributes & SEC_IMAGE) + if ((Section != NULL) && (Section->AllocationAttributes & SEC_IMAGE)) { ULONG i; ULONG NrSegments; @@ -4176,6 +4182,8 @@ MiRosUnmapViewOfSection(IN PEPROCESS Process, SectionSegments = ImageSectionObject->Segments; NrSegments = ImageSectionObject->NrSegments; + MemoryArea->DeleteInProgress = TRUE; + /* Search for the current segment within the section segments * and calculate the image base address */ for (i = 0; i < NrSegments; i++) From 1cf26dd5ff87f30c186a16b669124888ab281b85 Mon Sep 17 00:00:00 2001 From: Ziliang Guo Date: Mon, 9 Jun 2014 21:33:59 +0000 Subject: [PATCH 069/120] [TRANSLATIONS] Add polish translations for various applications, control panel applets, and modules. CORE-8218 #resolve #comment svn path=/trunk/; revision=63581 --- reactos/base/applications/cacls/lang/pl-PL.rc | 6 +- .../base/applications/mplay32/lang/pl-PL.rc | 13 +- .../mscutils/eventvwr/lang/pl-PL.rc | 16 +- .../base/applications/shutdown/lang/pl-PL.rc | 155 ++++++++++-------- .../base/applications/sndrec32/lang/pl-PL.rc | 41 ++--- reactos/dll/cpl/appwiz/lang/pl-PL.rc | 15 +- reactos/dll/cpl/desk/lang/pl-PL.rc | 2 +- reactos/dll/cpl/wined3dcfg/lang/pl-PL.rc | 25 +-- reactos/dll/win32/msgina/lang/pl-PL.rc | 3 +- reactos/subsystems/ntvdm/lang/pl-PL.rc | 2 +- .../winsrv/consrv/frontends/gui/lang/pl-PL.rc | 5 +- 11 files changed, 152 insertions(+), 131 deletions(-) diff --git a/reactos/base/applications/cacls/lang/pl-PL.rc b/reactos/base/applications/cacls/lang/pl-PL.rc index 44c50aab083..1df18a59503 100644 --- a/reactos/base/applications/cacls/lang/pl-PL.rc +++ b/reactos/base/applications/cacls/lang/pl-PL.rc @@ -2,7 +2,7 @@ * Translated by TestamenT * testament@users.sourceforge.net * https://sourceforge.net/projects/reactospl - * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) + * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (May, 2014) * UTF-8 conversion by Caemyr (May, 2011) */ @@ -51,8 +51,8 @@ Skróty:\n\ IDS_ABBR_CHANGE "C" IDS_ABBR_NONE "N" IDS_ALLOW "" - IDS_DENY "(DENY)" - IDS_SPECIAL_ACCESS "(special access:)" + IDS_DENY "(ODMÓW)" + IDS_SPECIAL_ACCESS "(dostÄ™p specjalny:)" IDS_GENERIC_READ "GENERIC_READ" IDS_GENERIC_WRITE "GENERIC_WRITE" IDS_GENERIC_EXECUTE "GENERIC_EXECUTE" diff --git a/reactos/base/applications/mplay32/lang/pl-PL.rc b/reactos/base/applications/mplay32/lang/pl-PL.rc index 5c21137ef55..fdcb893c289 100644 --- a/reactos/base/applications/mplay32/lang/pl-PL.rc +++ b/reactos/base/applications/mplay32/lang/pl-PL.rc @@ -3,6 +3,7 @@ * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl * UTF-8 conversion by Caemyr (May, 2011) + * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (May, 2014) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -16,11 +17,11 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Wyjdź", IDM_EXIT END - POPUP "&Device" + POPUP "&UrzÄ…dzenie" BEGIN - MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM "&WÅ‚aÅ›ciwoÅ›ci", IDM_DEVPROPS MENUITEM SEPARATOR - MENUITEM "&Volume Control", IDM_VOLUMECTL + MENUITEM "&Regulacja gÅ‚oÅ›noÅ›ci", IDM_VOLUMECTL END POPUP "&Pomoc" BEGIN @@ -38,8 +39,8 @@ BEGIN IDS_TOOLTIP_SEEKBACK "PrzewiÅ„ do tyÅ‚u" IDS_TOOLTIP_SEEKFORW "PrzewiÅ„ do przodu" IDS_TOOLTIP_FORWARD "Przeskocz do przodu" - IDS_APPTITLE "ReactOS Multimedia Player" + IDS_APPTITLE "Odtwarzacz multimedialny ReactOS" IDS_PLAY "Odtwórz" - IDS_DEFAULTMCIERRMSG "No description is available for this error" - IDS_UNKNOWNFILEEXT "Cannot determine the device type from the given filename extension." + IDS_DEFAULTMCIERRMSG "Brak dostÄ™pnego opisu dla tego błędu" + IDS_UNKNOWNFILEEXT "Nie można okreÅ›lić typu urzÄ…dzenia z podanego rozszerzenia pliku." END diff --git a/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc b/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc index 549269c523a..7432a6686ab 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc @@ -1,4 +1,6 @@ -/* Polish translation by Caemyr - Olaf Siejka */ +/* Polish translation by Caemyr - Olaf Siejka + * PL update by wojo664 (June 2014) + */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -10,9 +12,9 @@ BEGIN MENUITEM "&Zabezpieczenia", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR - MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM "Zapisz &protokół...", ID_SAVE_PROTOCOL, GRAYED MENUITEM SEPARATOR - MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM "W&yczyść wszystkie zdarzenia", ID_CLEAR_EVENTS, GRAYED MENUITEM SEPARATOR MENUITEM "&WyjÅ›cie", IDM_EXIT END @@ -91,8 +93,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "PodglÄ…d zdarzeÅ„" - IDS_APP_TITLE_EX "%s - %s Log on \\\\" - IDS_STATUS_MSG "%s has %lu event(s)" + IDS_APP_TITLE_EX "%s - %s Log na \\\\" + IDS_STATUS_MSG "%s posiada %lu zdarzeÅ„" IDS_EVENTSTRINGIDNOTFOUND "Opis zdarzenia dla danego numeru ID: ( %lu ) nie zostaÅ‚ odnaleziony w źródle: ( %s ). Ten komputer może nie miec wystarczajÄ…cych informacji w rejestrze, albo bibliotek DLL, aby wyÅ›wietlić wiadomoÅ›ci z komputera zdalnego." IDS_EVENTLOG_ERROR_TYPE "Błąd" IDS_EVENTLOG_WARNING_TYPE "Ostrzeżenie" @@ -101,8 +103,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Nieudany Audyt" IDS_EVENTLOG_SUCCESS "Sukces" IDS_EVENTLOG_UNKNOWN_TYPE "Zdarzenie nieznane" - IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" - IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" + IDS_CLEAREVENTS_MSG "Czy chcesz zapisać dziennik zdarzeÅ„ przed czyszczeniem?" + IDS_SAVE_FILTER "Dziennik zdarzeÅ„ (*.evt)\0*.evt\0" END STRINGTABLE diff --git a/reactos/base/applications/shutdown/lang/pl-PL.rc b/reactos/base/applications/shutdown/lang/pl-PL.rc index 9471ac00c9a..b9342a67eb2 100644 --- a/reactos/base/applications/shutdown/lang/pl-PL.rc +++ b/reactos/base/applications/shutdown/lang/pl-PL.rc @@ -1,103 +1,116 @@ +/* + * Translated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (May, 2014) + */ + LANGUAGE LANG_POLISH, SUBLANG_DEFAULT /* Dialog */ IDD_GUI DIALOGEX 0, 0, 240, 255 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Remote Shutdown" +CAPTION "Zdalne zamkniÄ™cie systemu" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "&OK", IDC_OK, 125, 232, 50, 14 - PUSHBUTTON "&Cancel", IDC_CANCEL, 178, 232, 50, 14 - LTEXT "Co&mputers:", IDC_STATIC, 9, 9, 35, 36 + PUSHBUTTON "&Anuluj", IDC_CANCEL, 178, 232, 50, 14 + LTEXT "Ko&mputery:", IDC_STATIC, 9, 9, 35, 36 LISTBOX IDC_COMPUTER_LIST, 8, 19, 162, 55 - PUSHBUTTON "&Add...", IDC_ADD_SYSTEM, 179, 19, 50, 14 - PUSHBUTTON "&Remove", IDC_REMOVE_SYSTEM, 179, 36, 50, 14, WS_DISABLED - PUSHBUTTON "&Browse...", IDC_BROWSE_SYSTEM, 179, 53, 50, 14 - LTEXT "Action", IDC_ACTION, 11, 81, 20, 14 + PUSHBUTTON "&Dodaj...", IDC_ADD_SYSTEM, 179, 19, 50, 14 + PUSHBUTTON "&UsuÅ„", IDC_REMOVE_SYSTEM, 179, 36, 50, 14, WS_DISABLED + PUSHBUTTON "&PrzeglÄ…daj...", IDC_BROWSE_SYSTEM, 179, 53, 50, 14 + LTEXT "Akcja", IDC_ACTION, 11, 81, 20, 14 COMBOBOX IDC_ACTION_TYPE, 37, 79, 129, 14, WS_TABSTOP | CBS_DROPDOWN - CHECKBOX "Warn users", IDC_WARN_USERS, 175, 79, 55, 14, BS_AUTOCHECKBOX | WS_TABSTOP - LTEXT "Display warning for", IDC_SHOW_WARN_ONE, 11, 99, 65, 14 + CHECKBOX "Ostrzeż użytkowników", IDC_WARN_USERS, 175, 79, 55, 14, BS_AUTOCHECKBOX | WS_TABSTOP + LTEXT "WyÅ›wietlaj ostrzeżenie przez", IDC_SHOW_WARN_ONE, 11, 99, 65, 14 EDITTEXT IDC_SHOW_WARN, 78, 97, 41, 14 - LTEXT "second(s)", IDC_SHOW_WARN_TWO, 124, 99, 32, 10 - GROUPBOX "Shutdown Event Tracker", IDC_STATIC, 5, 114, 224, 114 - LTEXT "Reason:", IDC_STATIC, 16, 130, 27, 8 - CHECKBOX "Planned", IDC_PLANNED, 175, 130, 40, 12, BS_AUTOCHECKBOX | WS_TABSTOP + LTEXT "sekund(y)", IDC_SHOW_WARN_TWO, 124, 99, 32, 10 + GROUPBOX "Åšledzenie zdarzeÅ„ zamkniÄ™cia systemu", IDC_STATIC, 5, 114, 224, 114 + LTEXT "Powód:", IDC_STATIC, 16, 130, 27, 8 + CHECKBOX "Planowane", IDC_PLANNED, 175, 130, 40, 12, BS_AUTOCHECKBOX | WS_TABSTOP COMBOBOX IDC_REASON_CODE, 17, 142, 198, 13, WS_TABSTOP | CBS_DROPDOWN - LTEXT "Comm&ent:", IDC_COMMENT_CAPTION, 16, 159, 38, 8 + LTEXT "Ko&mentarz:", IDC_COMMENT_CAPTION, 16, 159, 38, 8 EDITTEXT IDC_COMMENT_TEXT, 17, 171, 198, 50, WS_VSCROLL END /* Information and error messages */ STRINGTABLE BEGIN - IDS_USAGE "ReactOS Shutdown Utility\n\ + IDS_USAGE "NarzÄ™dzie Zamykania ReactOS\n\ \n\ -Usage: shutdown [/?] [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]\n\ - [/m \\\\computer][/t xxx][/d [p|u:]xx:yy [/c ""comment""]]\n\ +Sposób użycia: shutdown [/?] [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]\n\ + [/m \\\\komputer][/t xxx][/d [p|u:]xx:yy [/c ""komentarz""]]\n\ \n\ - No arguments or /? Display this help.\n\ - /i Show the graphical user interface (GUI). This option must be the\n\ - first one.\n\ - /l Log off on the local system only. Cannot be used with /m or /d.\n\ - /s Shutdown the computer.\n\ - /r Restart the computer.\n\ - /g Restart the computer and restart all the registered applications.\n\ - /a Cancel a delayed shutdown. Can only be used during the delay\n\ - period.\n\ - /p Shutdown the local computer without any timeout or warning. Can be\n\ - used with /d or /f.\n\ - /h Hibernate the local computer. Usable with /f.\n\ - /e Document the reason for the unexpected computer shutdown.\n\ - /m \\\\computer Specify the target computer (UNC/IP address).\n\ - /t xxx Set the timeout period to xxx seconds before shutting down.\n\ - The valid range starts from 0 to 315360000 (10 years),\n\ - 30 being the default value.\n\ - /c ""comment"" Comment on the reason for shutdown or restart.\n\ - 512 characters maximum allowed.\n\ - /f Force running applications to close without warning users. If you\n\ - do not specify any other parameter, this option will also log off.\n\ - /d [p|u:]xx:yy Give the reason code for the shutdown or the restart.\n\ - p indicates that the shutdown or the restart is planned.\n\ - u indicates that the reason is defined by the user.\n\ - If neither p nor u are specified, the shutdown or the restart are\n\ - not planned.\n\ - xx is the major reason code (positive integer smaller than 256).\n\ - yy is the minor reason code (positive integer smaller than 65536).\n" + Bez argumentów lub /? WyÅ›wietla Pomoc.\n\ + /i WyÅ›wietla graficzny interfejs użytkownika (GUI).\n\ + To musi być pierwsza opcja.\n\ + /l Wylogowuje. Ten parametr nie może być używany z opcjami /m\n\ + oraz /d.\n\ + /s Zamyka komputer.\n\ + /r Zamyka i ponownie uruchamia komputer.\n\ + /g Zamyka i ponownie uruchamia komputer. Po ponownym rozruchu\n\ + systemu, uruchamia ponownie wszystkie zarejestrowane\n\ + aplikacje.\n\ + /a Przerywa zamykanie systemu.\n\ + Do użytku tylko podczas limitu czasu.\n\ + /p Wyłącza lokalny komputer bez limitu czasu i ostrzeżenia.\n\ + Do użytku tylko z opcjÄ… /d i /f.\n\ + /h Przełącza komputer lokalny w stan hibernacji.\n\ + Do użytku tylko z opcjÄ… /f.\n\ + /e Dokumentuje przyczynÄ™ nieoczekiwanego zamkniÄ™cia systemu.\n\ + /m \\\\komputer OkreÅ›la komputer docelowy (adres UNC/IP).\n\ + /t xxx Ustawia limit czasu zamkniÄ™cia systemu na xxx sekund.\n\ + PrawidÅ‚owy zakres to 0-315360000 (10 lat), domyÅ›lna wartość to 30.\n\ + /c ""komentarz"" Wstawia komentarz dotyczÄ…cy przyczyny ponownego\n\ + uruchomienia lub zamkniÄ™cia.\n\ + Maksymalna dozwolona liczba znaków wynosi 512.\n\ + /f Wymusza zamkniÄ™cie uruchomionych aplikacji bez uprzedniego\n\ + powiadamiania użytkowników. If you do not specify any other parameter, this option will also log off.\n\ + /d [p|u:]xx:yy Podaje przyczynÄ™ ponownego uruchomienia lub\n\ + zamkniÄ™cia systemu\n\ + Opcja p okreÅ›la, że zaplanowano zamkniÄ™cie lub\n\ + ponowne uruchomienie.\n\ + Opcja u okreÅ›la, że przyczyna jest zdefiniowana przez\n\ + użytkownika.\n\ + JeÅ›li nie okreÅ›lono opcji p i u, ponowne uruchomienie\n\ + lub zamkniÄ™cie nie jest zaplanowane.\n\ + xx to numer przyczyny głównej (dodatnia liczba caÅ‚kowita\n\ + mniejsza niż 256).\n\ + yy to numer przyczyny dodatkowej (dodatnia liczba caÅ‚kowita\n\ + mniejsza niż 65 536).\n" - IDS_ERROR_SHUTDOWN_REBOOT "ERROR: Unable to shutdown and restart at the same time.\n" - IDS_ERROR_TIMEOUT "ERROR: Timeout value of %u is out of bounds (0-315360000).\n" - IDS_ERROR_ABORT "ERROR: Unable to abort the shutdown of the system.\n" - IDS_ERROR_LOGOFF "ERROR: Unable to logoff the system.\n" - IDS_ERROR_SHUTDOWN "ERROR: Unable to shutdown the system.\n" - IDS_ERROR_RESTART "ERROR: Unable to restart the system.\n" - IDS_ERROR_MAX_COMMENT_LENGTH "ERROR: Comment length exceeds maximum character limit set by the system.\n" - IDS_ERROR_HIBERNATE "ERROR: Unable to send system into hibernation mode.\n" - IDS_ERROR_HIBERNATE_LOCAL "ERROR: Hibernation mode cannot be started remotely.\n" - IDS_ERROR_HIBERNATE_ENABLED "ERROR: Hibernation mode is not enabled.\n" - IDS_ERROR_DIALOG_CAPTION "Remote Shutdown" - IDS_ERROR_DIALOG_INIT "Unable to display the graphical user interface." + IDS_ERROR_SHUTDOWN_REBOOT "BÅÄ„D: Nie można zamknąć i ponownie uruchomić w tym samym czasie.\n" + IDS_ERROR_TIMEOUT "BÅÄ„D: Limit czasu %u jest poza zakresem (0-315360000).\n" + IDS_ERROR_ABORT "BÅÄ„D: Nie można przerważ zamykania systemu.\n" + IDS_ERROR_LOGOFF "BÅÄ„D: Nie można wylogować z systemu.\n" + IDS_ERROR_SHUTDOWN "BÅÄ„D: Nie można zamknąć systemu.\n" + IDS_ERROR_RESTART "BÅÄ„D: Nie można ponownie uruchomić systemu.\n" + IDS_ERROR_MAX_COMMENT_LENGTH "BÅÄ„D: DÅ‚ugość komentarza przekrasza maksymalny limit znaków ustawiony przez system.\n" + IDS_ERROR_HIBERNATE "BÅÄ„D: Nie można ustawić systemu w trybie hibernacji.\n" + IDS_ERROR_HIBERNATE_LOCAL "BÅÄ„D: Tryb hibernacji nie może być uruchomiony zdalnie.\n" + IDS_ERROR_HIBERNATE_ENABLED "BÅÄ„D: Tryb hibernacji jest wyłączony.\n" + IDS_ERROR_DIALOG_CAPTION "Zdalne Zamykanie" + IDS_ERROR_DIALOG_INIT "Nie można wyÅ›wietlić graficznego interfejsu użytkownika." END /* Remote shutdown action strings */ STRINGTABLE BEGIN - IDS_ACTION_SHUTDOWN "Shutdown the system" - IDS_ACTION_RESTART "Restart the system" - IDS_ACTION_UNEXPECTED_SHUTDOWN "Annotate the unexpected shutdown" + IDS_ACTION_SHUTDOWN "ZamkniÄ™cie" + IDS_ACTION_RESTART "Uruchom ponownie" + IDS_ACTION_UNEXPECTED_SHUTDOWN "Adnotuj nieoczekiwane zamkniÄ™cie" END /* Remote shutdown reason strings */ STRINGTABLE BEGIN - IDS_REASON_OTHER "Other" - IDS_REASON_HARDWARE_MAINTENANCE "Hardware: Maintenance" - IDS_REASON_HARDWARE_INSTALL "Hardware: Installation" - IDS_REASON_OS_RECOVER "Operating System: Recovery" - IDS_REASON_OS_RECONFIGURE "Operating System: Reconfigure" - IDS_REASON_APP_MAINTENANCE "Application: Maintenance" - IDS_REASON_APP_INSTALL "Application: Installation" - IDS_REASON_APP_UNRESPONSIVE "Application: Unresponsive" - IDS_REASON_APP_UNSTABLE "Application: Unstable" - IDS_REASON_SECURITY "Security Issue" - IDS_REASON_NETWORK "Loss of network connectivity" + IDS_REASON_OTHER "Inne zadania" + IDS_REASON_HARDWARE_MAINTENANCE "SprzÄ™t: konserwacja" + IDS_REASON_HARDWARE_INSTALL "SprzÄ™t: instalacja" + IDS_REASON_OS_RECOVER "System Operacyjny: odzyskiwanie" + IDS_REASON_OS_RECONFIGURE "System Operacyjny: ponowna konfiguracja" + IDS_REASON_APP_MAINTENANCE "Aplikacja: konserwacja" + IDS_REASON_APP_INSTALL "Aplikacja: instalacja" + IDS_REASON_APP_UNRESPONSIVE "Aplikacja: nie odpowiada" + IDS_REASON_APP_UNSTABLE "Aplikacja: niestabilna" + IDS_REASON_SECURITY "Problem zabezpieczeÅ„" + IDS_REASON_NETWORK "Utrata połączenia sieciowego" END diff --git a/reactos/base/applications/sndrec32/lang/pl-PL.rc b/reactos/base/applications/sndrec32/lang/pl-PL.rc index c86f1fd2a4a..6eea26523b1 100644 --- a/reactos/base/applications/sndrec32/lang/pl-PL.rc +++ b/reactos/base/applications/sndrec32/lang/pl-PL.rc @@ -3,7 +3,8 @@ * Use ReactOS forum PM, IRC or saibamenppl at gmail.com to contact me * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; - * UTF-8 conversion by Caemyr (May, 2011) + * UTF-8 conversion by Caemyr (May, 2011) + * Update by wojo664 and Saibamen (May 2014) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -21,7 +22,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "Rejestrator dźwiÄ™ku ReactOS, wersja 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 + LTEXT "Prawa autorskie (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -33,35 +34,35 @@ BEGIN MENUITEM "Otwórz...", ID_FILE_OPEN MENUITEM "Zapisz", ID_FILE_SAVE, GRAYED MENUITEM "Zapisz jako...", ID_FILE_SAVEAS, GRAYED - MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED - MENUITEM "Properties", ID_FILE_PROPERTIES + MENUITEM "Przywróć...", ID_FILE_RESTORE, GRAYED + MENUITEM "WÅ‚aÅ›ciwoÅ›ci", ID_FILE_PROPERTIES MENUITEM SEPARATOR MENUITEM "WyjÅ›cie", ID_FILE_EXIT END - POPUP "&Edit" + POPUP "&Edycja" BEGIN - MENUITEM "&Copy", ID_EDIT_COPY - MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED - MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM "&Kopiuj", ID_EDIT_COPY + MENUITEM "&Wklej wstawkÄ™", ID_EDIT_PASTE, GRAYED + MENUITEM "Wklej Mi&ks", ID_EDIT_PASTEMIX, GRAYED MENUITEM SEPARATOR - MENUITEM "&Insert File...", ID_EDIT_INSERTFILE - MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM "&Wstaw plik...", ID_EDIT_INSERTFILE + MENUITEM "&Miksuj z plikiem...", ID_EDIT_MIXFILE MENUITEM SEPARATOR - MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED - MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM "Kasuj &przed obecnÄ… pozycjÄ…",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Kasuj &za obecnÄ… pozycjÄ…",ID_EDIT_DELETEAFTER, GRAYED MENUITEM SEPARATOR - MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + MENUITEM "WÅ‚aÅ›ciwoÅ›ci a&udio", ID_EDIT_AUDIOPROPS END - POPUP "Effect&s" + POPUP "Efekt&y" BEGIN - MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL - MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM "&ZgÅ‚oÅ›nij (o 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Åšcisz", ID_EFFECTS_DECVOL MENUITEM SEPARATOR - MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD - MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM "&PrzyÅ›piesz (o 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Zwolnij", ID_EFFECTS_DECSPD MENUITEM SEPARATOR - MENUITEM "&Add Echo", ID_EFFECTS_ECHO - MENUITEM "&Reverse", ID_EFFECTS_REVERSE + MENUITEM "&Dodaj echo", ID_EFFECTS_ECHO + MENUITEM "&Odwróć", ID_EFFECTS_REVERSE END POPUP "?" BEGIN diff --git a/reactos/dll/cpl/appwiz/lang/pl-PL.rc b/reactos/dll/cpl/appwiz/lang/pl-PL.rc index b46b76189b7..9da524973e6 100644 --- a/reactos/dll/cpl/appwiz/lang/pl-PL.rc +++ b/reactos/dll/cpl/appwiz/lang/pl-PL.rc @@ -4,6 +4,7 @@ * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; * UTF-8 conversion by Caemyr (May, 2011) + * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (April, 2014) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -59,19 +60,19 @@ END STRINGTABLE BEGIN - IDS_DOWNLOADING "Downloading..." - IDS_INSTALLING "Installing..." - IDS_INVALID_SHA "Unexpected checksum of downloaded file. Aborting installation of corrupted file." + IDS_DOWNLOADING "ÅšciÄ…ganie..." + IDS_INSTALLING "Instalowanie..." + IDS_INVALID_SHA "Nieoczekiwana suma kontrolna Å›ciÄ…gniÄ™tego pliku. Przerwanie instalacji uszkodzonego pliku." END ID_DWL_GECKO_DIALOG DIALOG 0, 0, 260, 95 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Wine Gecko Installer" +CAPTION "Instalator Wine Gecko" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "ReactOS could not find a Wine Gecko package which is needed for applications embedding HTML to work correctly. ReactOS can automatically download and install it for you.", + CONTROL "ReactOS nie mógÅ‚ znaleźć pakietu Wine Gecko, który jest potrzebny dla aplikacji osadzajÄ…cych kod HTML, aby mogÅ‚y pracować w peÅ‚ni. ReactOS może go automatycznie pobrać i zainstalować dla Ciebie.", ID_DWL_STATUS, "SysLink", 0, 10, 10, 240, 65 CONTROL "", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER | PBS_SMOOTH, 10, 40, 240, 12 - DEFPUSHBUTTON "&Install", ID_DWL_INSTALL, 200, 76, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&Instaluj", ID_DWL_INSTALL, 200, 76, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Anuluj", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP END diff --git a/reactos/dll/cpl/desk/lang/pl-PL.rc b/reactos/dll/cpl/desk/lang/pl-PL.rc index 3c0f108c7d7..514c7ef9556 100644 --- a/reactos/dll/cpl/desk/lang/pl-PL.rc +++ b/reactos/dll/cpl/desk/lang/pl-PL.rc @@ -68,7 +68,7 @@ END IDD_ADVAPPEARANCE DIALOGEX 0, 0, 250, 239 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE -CAPTION "Ustawienia zaawnsowane" +CAPTION "Ustawienia zaawansowane" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_APPEARANCE_PREVIEW, "PreviewWndClass", WS_VISIBLE | WS_BORDER, 7, 7, 232, 120 diff --git a/reactos/dll/cpl/wined3dcfg/lang/pl-PL.rc b/reactos/dll/cpl/wined3dcfg/lang/pl-PL.rc index c99c1e78e30..385de573c96 100644 --- a/reactos/dll/cpl/wined3dcfg/lang/pl-PL.rc +++ b/reactos/dll/cpl/wined3dcfg/lang/pl-PL.rc @@ -2,6 +2,7 @@ * Translated by Caemyr - Olaf Siejka (Mar 2012) * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; + * Updated by Saibamen and wojo664 (May 2014) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -12,27 +13,27 @@ CAPTION "Ogólne" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20 - GROUPBOX "Shaders", -1, 5, 25, 230, 80 - LTEXT "Enable GLSL:", -1, 15, 42, 80, 10 + GROUPBOX "Cieniowanie", -1, 5, 25, 230, 80 + LTEXT "Włącz GLSL:", -1, 15, 42, 80, 10 COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10 + LTEXT "Maksymalny poziom GS:", -1, 15, 57, 80, 10 COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "Maximum PS Level:", -1, 15, 72, 80, 10 + LTEXT "Maksymalny poziom PS:", -1, 15, 72, 80, 10 COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10 + LTEXT "Maksymalny poziom VS:", -1, 15, 87, 80, 10 COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - GROUPBOX "Rendering", -1, 5, 110, 230, 110 - LTEXT "Multisampling:", -1, 15, 127, 80, 10 + GROUPBOX "Renderowanie", -1, 5, 110, 230, 110 + LTEXT "Multipróbkowanie:", -1, 15, 127, 80, 10 COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10 + LTEXT "ÅšcisÅ‚a kolejność rysowania:", -1, 15, 142, 80, 10 COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10 + LTEXT "Renderowanie pozaekranowe:", -1, 15, 157, 80, 10 COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT + LTEXT "Zawsze pozaekranowo:", -1, 15, 172, 72, 10, SS_LEFT COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT + LTEXT "Rozmiar pamiÄ™ci video:", -1, 15, 187, 72, 10, SS_LEFT COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT + LTEXT "UrzÄ…dzenie renderujÄ…ce DirectDraw:", -1, 15, 202, 72, 10, SS_LEFT COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST END diff --git a/reactos/dll/win32/msgina/lang/pl-PL.rc b/reactos/dll/win32/msgina/lang/pl-PL.rc index 86520561671..986522e6d97 100644 --- a/reactos/dll/win32/msgina/lang/pl-PL.rc +++ b/reactos/dll/win32/msgina/lang/pl-PL.rc @@ -162,7 +162,8 @@ BEGIN IDS_PASSWORDEXPIRED "Twoje hasÅ‚o wygasÅ‚o i musi zostać zmienione." END -/* Shutdown Dialog Strings */STRINGTABLE +/* Shutdown Dialog Strings */ +STRINGTABLE BEGIN IDS_SHUTDOWN_LOGOFF "Wyloguj ""%s""" IDS_SHUTDOWN_SHUTDOWN "Wyłącz" diff --git a/reactos/subsystems/ntvdm/lang/pl-PL.rc b/reactos/subsystems/ntvdm/lang/pl-PL.rc index 84701cf04ee..ab931ef77bc 100644 --- a/reactos/subsystems/ntvdm/lang/pl-PL.rc +++ b/reactos/subsystems/ntvdm/lang/pl-PL.rc @@ -11,6 +11,6 @@ END STRINGTABLE BEGIN - IDS_VDM_DUMPMEM, "Dump &Memory" + IDS_VDM_DUMPMEM, "Zrzut &PamiÄ™ci" IDS_VDM_QUIT , "&Wyjdź z ReactOS VDM" END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc index 04023569048..4a6594b48d7 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc @@ -4,6 +4,7 @@ * https://sourceforge.net/projects/reactospl * Translation update by Olaf Siejka (Caemyr), Apr 2011 * UTF-8 conversion by Caemyr (May, 2011) + * Update by wojo664 (June 2014) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -33,6 +34,6 @@ END STRINGTABLE BEGIN - IDS_MARK_TITLE "Mark" - IDS_SELECT_TITLE "Select" + IDS_MARK_TITLE "Zaznacz" + IDS_SELECT_TITLE "Wybierz" END From 492bfe5967ed79aa3ade6488704ae9319a4a0453 Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Mon, 9 Jun 2014 21:37:52 +0000 Subject: [PATCH 070/120] [TRANSLATION] Polish translation of a few INF files by Adam Stachowicz CORE-8218 #comment INF files committed. Thx for help. svn path=/trunk/; revision=63582 --- reactos/media/inf/NET_NIC.inf | Bin 3320 -> 3490 bytes reactos/media/inf/bth.inf | Bin 3532 -> 3858 bytes reactos/media/inf/c_image.inf | Bin 1330 -> 1472 bytes reactos/media/inf/flpydisk.inf | Bin 3616 -> 4040 bytes reactos/media/inf/keyboard.inf | Bin 9864 -> 9948 bytes reactos/media/inf/monitor.inf | Bin 3728 -> 4164 bytes reactos/media/inf/unknown.inf | Bin 1814 -> 1814 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/reactos/media/inf/NET_NIC.inf b/reactos/media/inf/NET_NIC.inf index 0b21b8320693c128784d87630bff6a50a34d158b..614c28e44af8e31bdacffec8c5bc187a21ae3c34 100644 GIT binary patch delta 27 jcmew%xk!4$5BAAUoEej~IJlTo8Hy%vjJxOlEJsw8W$@h6gxfK{}859_l7+e{$C;#PfvVJo*c-lY7SA82b4`@C<2oC4CP?e#RT-Sa~oS?)0+si385Fn S!?2e@X)-^Thzd&ZgH15f1TxyHIa5HXB;Y(oz099HCO8@`> diff --git a/reactos/media/inf/keyboard.inf b/reactos/media/inf/keyboard.inf index 8fe2e0b3f894bf3beb375acb1cfcd6ce9c58c70a..afc54cc2ff8b34afbec63e25ed039170d5ac82e8 100644 GIT binary patch delta 26 hcmeD1z2mzfNp`ZCsM%y6Sw62x|ZU delta 12 TcmccP+u^$*Np|x#Sv5`oC65H- diff --git a/reactos/media/inf/monitor.inf b/reactos/media/inf/monitor.inf index 4415a116376f80b7cc3f93d1360c8bf716b4c8d8..d7997607c4524f206f915fd87b15e3a9058805fc 100644 GIT binary patch delta 133 zcmbOrdqiOYFQe&XMqYW@Y=%sR0)|8e1%@DoR3M$qP{QEP5X_*&z{|ijc`ldpMa4%MGT)A$|vvUbryC3@^XRl(Tq7jS+Kgv7kPvy X%WxS@j^gBFRG93`CB69`&n89yr5+ym delta 11 ScmX@2FhO Date: Mon, 9 Jun 2014 23:35:16 +0000 Subject: [PATCH 071/120] [NTOS:NEWCC] In _MiMapViewOfSegment, if no base address was specified, the granularity should be 64K. svn path=/trunk/; revision=63583 --- reactos/ntoskrnl/cache/section/data.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/cache/section/data.c b/reactos/ntoskrnl/cache/section/data.c index 0156ec69306..63219199558 100644 --- a/reactos/ntoskrnl/cache/section/data.c +++ b/reactos/ntoskrnl/cache/section/data.c @@ -636,7 +636,8 @@ _MiMapViewOfSegment(PMMSUPPORT AddressSpace, &MArea, FALSE, AllocationType, - PAGE_SIZE); + *BaseAddress ? + PAGE_SIZE : MM_ALLOCATION_GRANULARITY); if (!NT_SUCCESS(Status)) { From b8480056d05a1c782a985bf0744a8c8e1724ed39 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Tue, 10 Jun 2014 16:14:12 +0000 Subject: [PATCH 072/120] [SETUPAPI] * Remove exports that do not exist in native. CORE-8174 svn path=/trunk/; revision=63584 --- reactos/dll/win32/setupapi/setupapi.spec | 28 ------------------------ 1 file changed, 28 deletions(-) diff --git a/reactos/dll/win32/setupapi/setupapi.spec b/reactos/dll/win32/setupapi/setupapi.spec index 2a6ad8d47e0..9ca79d212ed 100644 --- a/reactos/dll/win32/setupapi/setupapi.spec +++ b/reactos/dll/win32/setupapi/setupapi.spec @@ -604,31 +604,3 @@ @ stub pSetupVerifyQueuedCatalogs @ stub pSetupWriteLogEntry @ stub pSetupWriteLogError - -# Unknown functions, they are not present in Win2003 SP1 -@ stdcall AssertFail(str long str) -@ stub CM_Remove_Unmarked_Children -@ stub CM_Remove_Unmarked_Children_Ex -@ stub CM_Reset_Children_Marks -@ stub CM_Reset_Children_Marks_Ex -@ stdcall CaptureStringArg(wstr ptr) -@ stdcall DelayedMove(wstr wstr) -@ stub DelimStringToMultiSz -@ stub DestroyTextFileReadBuffer -@ stdcall FileExists(wstr ptr) -@ stub GetNewInfName -@ stdcall GetSetFileTimestamp(wstr ptr ptr ptr long) -@ stub LookUpStringInTable -@ stub MemoryInitialize -@ stub MultiSzFromSearchControl -@ stdcall QueryRegistryValue(long wstr ptr ptr ptr) -@ stub ReadAsciiOrUnicodeTextFile -# Yes, Microsoft really misspelled this one! -@ stdcall RetreiveFileSecurity(wstr ptr) -@ stub SearchForInfFile -@ stdcall StampFileSecurity(wstr ptr) -@ stdcall TakeOwnershipOfFile(wstr) -@ stub pSetupDirectoryIdToPath -@ stub pSetupGetOsLoaderDriveAndPath -@ stub pSetupGetVersionDatum -@ stub pSetupSetSystemSourceFlags From 01a82ca2fc814d69aa5e732ea7a335af23fa672e Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Tue, 10 Jun 2014 16:36:51 +0000 Subject: [PATCH 073/120] [OLEAUT32] * Reorder some exports and remove the ones that do not exist in native. CORE-8174 svn path=/trunk/; revision=63585 --- reactos/dll/win32/oleaut32/oleaut32.spec | 31 ++++-------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/reactos/dll/win32/oleaut32/oleaut32.spec b/reactos/dll/win32/oleaut32/oleaut32.spec index a68eb0c4eaf..53ea392e7f6 100644 --- a/reactos/dll/win32/oleaut32/oleaut32.spec +++ b/reactos/dll/win32/oleaut32/oleaut32.spec @@ -140,12 +140,14 @@ 141 stdcall VarAdd(ptr ptr ptr) 142 stdcall VarAnd(ptr ptr ptr) 143 stdcall VarDiv(ptr ptr ptr) -144 stub OACreateTypeLib2 +@ stdcall -private DllCanUnloadNow() +@ stdcall -private DllGetClassObject(ptr ptr ptr) 146 stdcall DispCallFunc(ptr long long long long ptr ptr ptr) 147 stdcall VariantChangeTypeEx(ptr ptr long long long) 148 stdcall SafeArrayPtrOfIndex(ptr ptr ptr) 149 stdcall SysStringByteLen(ptr) 150 stdcall SysAllocStringByteLen(ptr long) +@ stdcall -private DllRegisterServer() 152 stdcall VarEqv(ptr ptr ptr) 153 stdcall VarIdiv(ptr ptr ptr) 154 stdcall VarImp(ptr ptr ptr) @@ -294,6 +296,8 @@ 297 stub LPSAFEARRAY_Unmarshal 298 stdcall VarDecCmpR8(ptr double) 299 stdcall VarCyAdd(int64 int64 ptr) +@ stdcall -private DllUnregisterServer() +301 stub OACreateTypeLib2 303 stdcall VarCyMul(int64 int64 ptr) 304 stdcall VarCyMulI4(int64 long ptr) 305 stdcall VarCySub(int64 int64 ptr) @@ -357,26 +361,6 @@ 377 stdcall VarI1FromUI8(int64 ptr) 378 stdcall VarUI2FromI8(int64 ptr) 379 stdcall VarUI2FromUI8(int64 ptr) -380 stub UserHWND_from_local -381 stub UserHWND_to_local -382 stub UserHWND_free_inst -383 stub UserHWND_free_local -384 stub UserBSTR_from_local -385 stub UserBSTR_to_local -386 stub UserBSTR_free_inst -387 stub UserBSTR_free_local -388 stub UserVARIANT_from_local -389 stub UserVARIANT_to_local -390 stub UserVARIANT_free_inst -391 stub UserVARIANT_free_local -392 stub UserEXCEPINFO_from_local -393 stub UserEXCEPINFO_to_local -394 stub UserEXCEPINFO_free_inst -395 stub UserEXCEPINFO_free_local -396 stub UserMSG_from_local -397 stub UserMSG_to_local -398 stub UserMSG_free_inst -399 stub UserMSG_free_local 401 stdcall OleLoadPictureEx(ptr long long long long long long ptr) 402 stub OleLoadPictureFileEx 411 stdcall SafeArrayCreateVector(long long long) @@ -412,8 +396,3 @@ 441 stdcall VarUI8FromDec(long ptr) 442 stdcall RegisterTypeLibForUser(ptr wstr wstr) 443 stdcall UnRegisterTypeLibForUser(ptr long long long long) - -@ stdcall -private DllCanUnloadNow() -@ stdcall -private DllGetClassObject(ptr ptr ptr) -@ stdcall -private DllRegisterServer() -@ stdcall -private DllUnregisterServer() From 9d7a2a09db9258d4f80191e7e4dfe656af675468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Tue, 10 Jun 2014 19:49:22 +0000 Subject: [PATCH 074/120] [CONSRV]: Fix erroneous X-offset when copying text lines. svn path=/trunk/; revision=63586 --- reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c index b3caf59ef89..078cb40fe03 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c @@ -203,7 +203,7 @@ CopyLines(PTEXTMODE_SCREEN_BUFFER Buffer, xBeg = (yPos == Begin->Y ? Begin->X : 0); xEnd = (yPos == End->Y ? End->X : Buffer->ScreenBufferSize.X - 1); - ptr = ConioCoordToPointer(Buffer, xBeg, yPos); + ptr = ConioCoordToPointer(Buffer, 0, yPos); /* Copy only the characters, leave attributes alone */ for (xPos = xBeg; (xPos <= xEnd) && (NumChars-- > 0); xPos++) From 12fae91ffcff673dab63bce804c5bc074c77e931 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Tue, 10 Jun 2014 21:35:39 +0000 Subject: [PATCH 075/120] [NET] Implement the /help option for the pause, start and stop commands. svn path=/trunk/; revision=63587 --- .../base/applications/network/net/cmdPause.c | 10 ++++++++++ .../base/applications/network/net/cmdStart.c | 19 ++++++++++++------- .../base/applications/network/net/cmdStop.c | 10 ++++++++++ 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/reactos/base/applications/network/net/cmdPause.c b/reactos/base/applications/network/net/cmdPause.c index 4ade493b76e..32f87756509 100644 --- a/reactos/base/applications/network/net/cmdPause.c +++ b/reactos/base/applications/network/net/cmdPause.c @@ -15,6 +15,7 @@ INT cmdPause(INT argc, WCHAR **argv) SC_HANDLE hService = NULL; SERVICE_STATUS status; INT nError = 0; + INT i; if (argc != 3) { @@ -22,6 +23,15 @@ INT cmdPause(INT argc, WCHAR **argv) return 1; } + for (i = 2; i < argc; i++) + { + if (_wcsicmp(argv[i], L"/help") == 0) + { + PrintResourceString(IDS_PAUSE_HELP); + return 1; + } + } + hManager = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ENUMERATE_SERVICE); if (hManager == NULL) { diff --git a/reactos/base/applications/network/net/cmdStart.c b/reactos/base/applications/network/net/cmdStart.c index c2da1ce7161..34070584f72 100644 --- a/reactos/base/applications/network/net/cmdStart.c +++ b/reactos/base/applications/network/net/cmdStart.c @@ -162,16 +162,21 @@ done: INT cmdStart(INT argc, WCHAR **argv) { - INT nError = 0; + INT i; if (argc == 2) { - nError = EnumerateRunningServices(); - } - else - { - nError = StartOneService(argc, argv); + return EnumerateRunningServices(); } - return nError; + for (i = 2; i < argc; i++) + { + if (_wcsicmp(argv[i], L"/help") == 0) + { + PrintResourceString(IDS_START_HELP); + return 1; + } + } + + return StartOneService(argc, argv); } diff --git a/reactos/base/applications/network/net/cmdStop.c b/reactos/base/applications/network/net/cmdStop.c index 7938c28eb00..ef30aae270d 100644 --- a/reactos/base/applications/network/net/cmdStop.c +++ b/reactos/base/applications/network/net/cmdStop.c @@ -16,6 +16,7 @@ INT cmdStop(INT argc, WCHAR **argv) SERVICE_STATUS ServiceStatus; DWORD dwError = ERROR_SUCCESS; INT nError = 0; + INT i; if (argc != 3) { @@ -23,6 +24,15 @@ INT cmdStop(INT argc, WCHAR **argv) return 1; } + for (i = 2; i < argc; i++) + { + if (_wcsicmp(argv[i], L"/help") == 0) + { + PrintResourceString(IDS_STOP_HELP); + return 1; + } + } + hManager = OpenSCManagerW(NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ENUMERATE_SERVICE); From afd824501a0c04ca77adb95b3ecfc853117bd37b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Tue, 10 Jun 2014 22:15:57 +0000 Subject: [PATCH 076/120] [CMAKE/RPC] - Disable -Oif flags for generating client/server stubs with widl, except for advapi32 which needs it See CORE-8200 for details svn path=/trunk/; revision=63588 --- reactos/base/services/eventlog/CMakeLists.txt | 3 +++ reactos/base/system/services/CMakeLists.txt | 3 +++ reactos/cmake/widl-support.cmake | 4 ++-- reactos/dll/win32/advapi32/CMakeLists.txt | 3 +++ reactos/dll/win32/lsasrv/CMakeLists.txt | 3 +++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/reactos/base/services/eventlog/CMakeLists.txt b/reactos/base/services/eventlog/CMakeLists.txt index 1f799c78f82..50f0574d2bc 100644 --- a/reactos/base/services/eventlog/CMakeLists.txt +++ b/reactos/base/services/eventlog/CMakeLists.txt @@ -3,6 +3,9 @@ include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/idl ${CMAKE_CURRENT_BINARY_DIR}) +# FIXME: See CORE-8200 +set(IDL_FLAGS ${IDL_FLAGS} -Oif) + add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/eventlogrpc.idl) list(APPEND SOURCE diff --git a/reactos/base/system/services/CMakeLists.txt b/reactos/base/system/services/CMakeLists.txt index c3ea514db36..6d89fb29441 100644 --- a/reactos/base/system/services/CMakeLists.txt +++ b/reactos/base/system/services/CMakeLists.txt @@ -4,6 +4,9 @@ include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/idl ${CMAKE_CURRENT_BINARY_DIR}) +# FIXME: See CORE-8200 +set(IDL_FLAGS ${IDL_FLAGS} -Oif) + add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/svcctl.idl) diff --git a/reactos/cmake/widl-support.cmake b/reactos/cmake/widl-support.cmake index 4a93155c45f..71a74b19118 100644 --- a/reactos/cmake/widl-support.cmake +++ b/reactos/cmake/widl-support.cmake @@ -61,10 +61,10 @@ function(add_rpc_files __type) get_defines(DEFINES) # Is it a client or server module? if(__type STREQUAL "server") - set(__server_client -Oif -s -o) + set(__server_client -s -o) set(__suffix _s) elseif(__type STREQUAL "client") - set(__server_client -Oif -c -o) + set(__server_client -c -o) set(__suffix _c) else() message(FATAL_ERROR "Please pass either server or client as argument to add_rpc_files") diff --git a/reactos/dll/win32/advapi32/CMakeLists.txt b/reactos/dll/win32/advapi32/CMakeLists.txt index 20cbef3e218..3dbfacbfb37 100644 --- a/reactos/dll/win32/advapi32/CMakeLists.txt +++ b/reactos/dll/win32/advapi32/CMakeLists.txt @@ -11,6 +11,9 @@ include_directories( ${REACTOS_SOURCE_DIR}/lib/cryptlib ${CMAKE_CURRENT_BINARY_DIR}) +# FIXME: See CORE-8200 +set(IDL_FLAGS ${IDL_FLAGS} -Oif) + add_rpc_files(client ${REACTOS_SOURCE_DIR}/include/reactos/idl/eventlogrpc.idl ${REACTOS_SOURCE_DIR}/include/reactos/idl/lsa.idl diff --git a/reactos/dll/win32/lsasrv/CMakeLists.txt b/reactos/dll/win32/lsasrv/CMakeLists.txt index 523841c7253..02d990dd250 100644 --- a/reactos/dll/win32/lsasrv/CMakeLists.txt +++ b/reactos/dll/win32/lsasrv/CMakeLists.txt @@ -4,6 +4,9 @@ include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/idl ${REACTOS_SOURCE_DIR}/include/reactos/subsys/lsass) +# FIXME: See CORE-8200 +set(IDL_FLAGS ${IDL_FLAGS} -Oif) + add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/lsa.idl) spec2def(lsasrv.dll lsasrv.spec ADD_IMPORTLIB) From e1149127bf4e0560000cd0c8649d5296c1cec3db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Tue, 10 Jun 2014 22:17:47 +0000 Subject: [PATCH 077/120] Revert "[CMAKE/RPC]" This reverts commit a8356056cb870090a1fb39921e469b8410d36962. svn path=/trunk/; revision=63589 --- reactos/base/services/eventlog/CMakeLists.txt | 3 --- reactos/base/system/services/CMakeLists.txt | 3 --- reactos/cmake/widl-support.cmake | 4 ++-- reactos/dll/win32/advapi32/CMakeLists.txt | 3 --- reactos/dll/win32/lsasrv/CMakeLists.txt | 3 --- 5 files changed, 2 insertions(+), 14 deletions(-) diff --git a/reactos/base/services/eventlog/CMakeLists.txt b/reactos/base/services/eventlog/CMakeLists.txt index 50f0574d2bc..1f799c78f82 100644 --- a/reactos/base/services/eventlog/CMakeLists.txt +++ b/reactos/base/services/eventlog/CMakeLists.txt @@ -3,9 +3,6 @@ include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/idl ${CMAKE_CURRENT_BINARY_DIR}) -# FIXME: See CORE-8200 -set(IDL_FLAGS ${IDL_FLAGS} -Oif) - add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/eventlogrpc.idl) list(APPEND SOURCE diff --git a/reactos/base/system/services/CMakeLists.txt b/reactos/base/system/services/CMakeLists.txt index 6d89fb29441..c3ea514db36 100644 --- a/reactos/base/system/services/CMakeLists.txt +++ b/reactos/base/system/services/CMakeLists.txt @@ -4,9 +4,6 @@ include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/idl ${CMAKE_CURRENT_BINARY_DIR}) -# FIXME: See CORE-8200 -set(IDL_FLAGS ${IDL_FLAGS} -Oif) - add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/svcctl.idl) diff --git a/reactos/cmake/widl-support.cmake b/reactos/cmake/widl-support.cmake index 71a74b19118..4a93155c45f 100644 --- a/reactos/cmake/widl-support.cmake +++ b/reactos/cmake/widl-support.cmake @@ -61,10 +61,10 @@ function(add_rpc_files __type) get_defines(DEFINES) # Is it a client or server module? if(__type STREQUAL "server") - set(__server_client -s -o) + set(__server_client -Oif -s -o) set(__suffix _s) elseif(__type STREQUAL "client") - set(__server_client -c -o) + set(__server_client -Oif -c -o) set(__suffix _c) else() message(FATAL_ERROR "Please pass either server or client as argument to add_rpc_files") diff --git a/reactos/dll/win32/advapi32/CMakeLists.txt b/reactos/dll/win32/advapi32/CMakeLists.txt index 3dbfacbfb37..20cbef3e218 100644 --- a/reactos/dll/win32/advapi32/CMakeLists.txt +++ b/reactos/dll/win32/advapi32/CMakeLists.txt @@ -11,9 +11,6 @@ include_directories( ${REACTOS_SOURCE_DIR}/lib/cryptlib ${CMAKE_CURRENT_BINARY_DIR}) -# FIXME: See CORE-8200 -set(IDL_FLAGS ${IDL_FLAGS} -Oif) - add_rpc_files(client ${REACTOS_SOURCE_DIR}/include/reactos/idl/eventlogrpc.idl ${REACTOS_SOURCE_DIR}/include/reactos/idl/lsa.idl diff --git a/reactos/dll/win32/lsasrv/CMakeLists.txt b/reactos/dll/win32/lsasrv/CMakeLists.txt index 02d990dd250..523841c7253 100644 --- a/reactos/dll/win32/lsasrv/CMakeLists.txt +++ b/reactos/dll/win32/lsasrv/CMakeLists.txt @@ -4,9 +4,6 @@ include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/idl ${REACTOS_SOURCE_DIR}/include/reactos/subsys/lsass) -# FIXME: See CORE-8200 -set(IDL_FLAGS ${IDL_FLAGS} -Oif) - add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/lsa.idl) spec2def(lsasrv.dll lsasrv.spec ADD_IMPORTLIB) From bd4dce67d10631214d26824fcdebfec06e86308b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Tue, 10 Jun 2014 22:17:58 +0000 Subject: [PATCH 078/120] [HIDPARSE] - Use cdecl for variadic function prototype See CORE-6447 svn path=/trunk/; revision=63590 --- reactos/drivers/hid/hidparse/hidparse.c | 2 +- reactos/lib/drivers/hidparser/hidparser.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/drivers/hid/hidparse/hidparse.c b/reactos/drivers/hid/hidparse/hidparse.c index 0fc78430fb5..6daed49bb56 100644 --- a/reactos/drivers/hid/hidparse/hidparse.c +++ b/reactos/drivers/hid/hidparse/hidparse.c @@ -70,7 +70,7 @@ CopyFunction( } VOID -NTAPI +__cdecl DebugFunction( IN LPCSTR FormatStr, ...) { diff --git a/reactos/lib/drivers/hidparser/hidparser.h b/reactos/lib/drivers/hidparser/hidparser.h index 636fd66c326..581193a319f 100644 --- a/reactos/lib/drivers/hidparser/hidparser.h +++ b/reactos/lib/drivers/hidparser/hidparser.h @@ -17,7 +17,7 @@ typedef PVOID (NTAPI *PHIDPARSER_ALLOC_FUNCTION)(ULONG Size); typedef VOID (NTAPI *PHIDPARSER_FREE_FUNCTION)(PVOID Item); typedef VOID (NTAPI *PHIDPARSER_ZERO_FUNCTION)(PVOID Item, ULONG Size); typedef VOID (NTAPI *PHIDPARSER_COPY_FUNCTION)(PVOID Target, PVOID Source, ULONG Size); -typedef VOID (NTAPI *PHIDPARSER_DEBUG_FUNCTION)(LPCSTR Src, ...); +typedef VOID (__cdecl *PHIDPARSER_DEBUG_FUNCTION)(LPCSTR Src, ...); // // status code From 9a92cc636a2643dc04f537de97eb828ccb71f8ab Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Tue, 10 Jun 2014 22:36:31 +0000 Subject: [PATCH 079/120] [NET] Add the /help option to the helpmsg command too. svn path=/trunk/; revision=63591 --- reactos/base/applications/network/net/cmdHelpMsg.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reactos/base/applications/network/net/cmdHelpMsg.c b/reactos/base/applications/network/net/cmdHelpMsg.c index 02259a09c8e..8247836b354 100644 --- a/reactos/base/applications/network/net/cmdHelpMsg.c +++ b/reactos/base/applications/network/net/cmdHelpMsg.c @@ -16,6 +16,7 @@ INT cmdHelpMsg(INT argc, WCHAR **argv) LPWSTR endptr; LPWSTR lpBuffer; LONG errNum; + INT i; if (argc < 3) { @@ -23,6 +24,15 @@ INT cmdHelpMsg(INT argc, WCHAR **argv) return 1; } + for (i = 2; i < argc; i++) + { + if (_wcsicmp(argv[i], L"/help") == 0) + { + PrintResourceString(IDS_HELPMSG_HELP); + return 1; + } + } + errNum = wcstol(argv[2], &endptr, 10); if (*endptr != 0) { From fa15740904ee68eabf194ffda379a20966225104 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Wed, 11 Jun 2014 19:48:43 +0000 Subject: [PATCH 080/120] [Win32k] - Apply patch from r63350. Modified so the WM_ACTIVATEAPP before the WM_NC/ACTIVATE call not after. svn path=/trunk/; revision=63592 --- reactos/win32ss/user/ntuser/focus.c | 96 ++++++++++++++++------------- 1 file changed, 52 insertions(+), 44 deletions(-) diff --git a/reactos/win32ss/user/ntuser/focus.c b/reactos/win32ss/user/ntuser/focus.c index bf1a32d259d..c2d39a2340d 100644 --- a/reactos/win32ss/user/ntuser/focus.c +++ b/reactos/win32ss/user/ntuser/focus.c @@ -102,10 +102,12 @@ co_IntSendActivateMessages(PWND WindowPrev, PWND Window, BOOL MouseActivate, BOO PTHREADINFO pti, ptiOld, ptiNew; BOOL InAAPM = FALSE; + //ERR("SendActivateMessages\n"); + + pti = PsGetCurrentThreadWin32Thread(); + if (Window) { - pti = PsGetCurrentThreadWin32Thread(); - UserRefObjectCo(Window, &Ref); if (WindowPrev) UserRefObjectCo(WindowPrev, &RefPrev); @@ -163,56 +165,62 @@ co_IntSendActivateMessages(PWND WindowPrev, PWND Window, BOOL MouseActivate, BOO ExFreePool(phwndTopLevel); } } - //// - OldTID = WindowPrev ? IntGetWndThreadId(WindowPrev) : NULL; - NewTID = IntGetWndThreadId(Window); - ptiOld = WindowPrev ? WindowPrev->head.pti : NULL; - ptiNew = Window->head.pti; + } + //// + OldTID = WindowPrev ? IntGetWndThreadId(WindowPrev) : NULL; + NewTID = Window ? IntGetWndThreadId(Window) : NULL; + ptiOld = WindowPrev ? WindowPrev->head.pti : NULL; + ptiNew = Window ? Window->head.pti : NULL; - //ERR("SendActivateMessage Old -> %x, New -> %x\n", OldTID, NewTID); + //ERR("SendActivateMessage Old -> %x, New -> %x\n", OldTID, NewTID); - if (!(pti->TIF_flags & TIF_INACTIVATEAPPMSG) && - (!WindowPrev || OldTID != NewTID) ) + if (!(pti->TIF_flags & TIF_INACTIVATEAPPMSG) && + (!WindowPrev || OldTID != NewTID) ) + { + PWND cWindow; + HWND *List, *phWnd; + + List = IntWinListChildren(UserGetDesktopWindow()); + if ( List ) { - PWND cWindow; - HWND *List, *phWnd; - - List = IntWinListChildren(UserGetDesktopWindow()); - if ( List ) + if ( OldTID ) { - if ( OldTID ) + ptiOld->TIF_flags |= TIF_INACTIVATEAPPMSG; + // Note: Do not set pci flags, this does crash! + for (phWnd = List; *phWnd; ++phWnd) { - ptiOld->TIF_flags |= TIF_INACTIVATEAPPMSG; - // Note: Do not set pci flags, this does crash! - for (phWnd = List; *phWnd; ++phWnd) - { - cWindow = ValidateHwndNoErr(*phWnd); - if (cWindow && cWindow->head.pti == ptiOld) - { // FALSE if the window is being deactivated, - // ThreadId that owns the window being activated. - co_IntSendMessageNoWait(*phWnd, WM_ACTIVATEAPP, FALSE, (LPARAM)NewTID); - } - } - ptiOld->TIF_flags &= ~TIF_INACTIVATEAPPMSG; - } - if ( NewTID ) - { //// Prevents a resource crash due to reentrance! - InAAPM = TRUE; - pti->TIF_flags |= TIF_INACTIVATEAPPMSG; - //// - for (phWnd = List; *phWnd; ++phWnd) - { - cWindow = ValidateHwndNoErr(*phWnd); - if (cWindow && cWindow->head.pti == ptiNew) - { // TRUE if the window is being activated, - // ThreadId that owns the window being deactivated. - co_IntSendMessageNoWait(*phWnd, WM_ACTIVATEAPP, TRUE, (LPARAM)OldTID); - } + cWindow = ValidateHwndNoErr(*phWnd); + if (cWindow && cWindow->head.pti == ptiOld) + { // FALSE if the window is being deactivated, + // ThreadId that owns the window being activated. + //ERR("SendActivateMessage Old\n"); + co_IntSendMessageNoWait(*phWnd, WM_ACTIVATEAPP, FALSE, (LPARAM)NewTID); } } - ExFreePoolWithTag(List, USERTAG_WINDOWLIST); + ptiOld->TIF_flags &= ~TIF_INACTIVATEAPPMSG; } + if ( NewTID ) + { //// Prevents a resource crash due to reentrance! + InAAPM = TRUE; + pti->TIF_flags |= TIF_INACTIVATEAPPMSG; + //// + for (phWnd = List; *phWnd; ++phWnd) + { + cWindow = ValidateHwndNoErr(*phWnd); + if (cWindow && cWindow->head.pti == ptiNew) + { // TRUE if the window is being activated, + // ThreadId that owns the window being deactivated. + //ERR("SendActivateMessage New\n"); + co_IntSendMessageNoWait(*phWnd, WM_ACTIVATEAPP, TRUE, (LPARAM)OldTID); + } + } + } + ExFreePoolWithTag(List, USERTAG_WINDOWLIST); } + } + + if (Window) + { if (WindowPrev) UserDerefObjectCo(WindowPrev); // Now allow the previous window to die. @@ -533,7 +541,7 @@ IntFindChildWindowToOwner(PWND Root, PWND Owner) for(Child = Root->spwndChild; Child; Child = Child->spwndNext) { - OwnerWnd = Child->spwndOwner; + OwnerWnd = Child->spwndOwner; if(!OwnerWnd) continue; From 6798413bf55ef293cc86e3c1b91c45b205e9eb10 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Fri, 13 Jun 2014 01:40:59 +0000 Subject: [PATCH 081/120] [Win32k] - Test for disabled windows, fix CORE-8089 and see CORE-6651. svn path=/trunk/; revision=63593 --- reactos/win32ss/user/ntuser/msgqueue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/win32ss/user/ntuser/msgqueue.c b/reactos/win32ss/user/ntuser/msgqueue.c index e6f31cb62b4..26f0cf41ee0 100644 --- a/reactos/win32ss/user/ntuser/msgqueue.c +++ b/reactos/win32ss/user/ntuser/msgqueue.c @@ -1369,7 +1369,7 @@ BOOL co_IntProcessMouseMessage(MSG* msg, BOOL* RemoveMessages, UINT first, UINT } else { - pwndMsg = co_WinPosWindowFromPoint(NULL, &msg->pt, &hittest, TRUE); + pwndMsg = co_WinPosWindowFromPoint(NULL, &msg->pt, &hittest, FASLE);//TRUE); } TRACE("Got mouse message for %p, hittest: 0x%x\n", msg->hwnd, hittest); From a9746d12cb1b11f02beec892bd9cdb2c91c59332 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Fri, 13 Jun 2014 01:45:44 +0000 Subject: [PATCH 082/120] - fix the fix. svn path=/trunk/; revision=63594 --- reactos/win32ss/user/ntuser/msgqueue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/win32ss/user/ntuser/msgqueue.c b/reactos/win32ss/user/ntuser/msgqueue.c index 26f0cf41ee0..94b2b39639b 100644 --- a/reactos/win32ss/user/ntuser/msgqueue.c +++ b/reactos/win32ss/user/ntuser/msgqueue.c @@ -1369,7 +1369,7 @@ BOOL co_IntProcessMouseMessage(MSG* msg, BOOL* RemoveMessages, UINT first, UINT } else { - pwndMsg = co_WinPosWindowFromPoint(NULL, &msg->pt, &hittest, FASLE);//TRUE); + pwndMsg = co_WinPosWindowFromPoint(NULL, &msg->pt, &hittest, FALSE);//TRUE); } TRACE("Got mouse message for %p, hittest: 0x%x\n", msg->hwnd, hittest); From 50e8eb2f876e9269fcfebda27df1af8477d35519 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Fri, 13 Jun 2014 01:49:29 +0000 Subject: [PATCH 083/120] [ConSrv] - Move CreateSysMenu after creating the main window. This is a hax fix for CORE-8129. svn path=/trunk/; revision=63595 --- reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c | 5 +++-- reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c | 5 ++++- reactos/win32ss/user/winsrv/init.c | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index acc83a41ee6..71aa6d76325 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -250,7 +250,8 @@ AppendMenuItems(HMENU hMenu, } while (!(Items[i].uID == 0 && Items[i].SubMenu == NULL && Items[i].wCmdID == 0)); } -static VOID +//static +VOID CreateSysMenu(HWND hWnd) { MENUITEMINFOW mii; @@ -587,7 +588,7 @@ OnNcCreate(HWND hWnd, LPCREATESTRUCTW Create) SetWindowLongPtrW(GuiData->hWindow, GWLP_USERDATA, (DWORD_PTR)GuiData); SetTimer(GuiData->hWindow, CONGUI_UPDATE_TIMER, CONGUI_UPDATE_TIME, NULL); - CreateSysMenu(GuiData->hWindow); + //CreateSysMenu(GuiData->hWindow); DPRINT("OnNcCreate - setting start event\n"); SetEvent(GuiData->hGuiInitEvent); diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c index 023456c179a..a73b5223a9b 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c @@ -140,7 +140,8 @@ InvalidateCell(PGUI_CONSOLE_DATA GuiData, VOID SwitchFullScreen(PGUI_CONSOLE_DATA GuiData, BOOL FullScreen); - +VOID +CreateSysMenu(HWND hWnd); static LRESULT CALLBACK GuiConsoleNotifyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { @@ -199,6 +200,8 @@ GuiConsoleNotifyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) GuiConsoleMoveWindow(GuiData); // FIXME: This MUST be done via the CreateWindowExW call. SendMessageW(GuiData->hWindow, PM_RESIZE_TERMINAL, 0, 0); + CreateSysMenu(GuiData->hWindow); + /* Switch to full-screen mode if necessary */ // FIXME: Move elsewhere, it cause misdrawings of the window. if (GuiData->GuiInfo.FullScreen) SwitchFullScreen(GuiData, TRUE); diff --git a/reactos/win32ss/user/winsrv/init.c b/reactos/win32ss/user/winsrv/init.c index 877cdc3f8d2..4b3ec92d635 100644 --- a/reactos/win32ss/user/winsrv/init.c +++ b/reactos/win32ss/user/winsrv/init.c @@ -32,6 +32,7 @@ KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam) { + DPRINT1("KeyboardHookProc Processing!\n"); return CallNextHookEx(hhk, nCode, wParam, lParam); } /*** END - HACK from win32csr... ***/ From 5e52a82ae06b9b518b10afd2c0013ff1052f2a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Fri, 13 Jun 2014 23:36:29 +0000 Subject: [PATCH 084/120] [EXPLORER]: Remove some painting hack from revision 36668 . svn path=/trunk/; revision=63596 --- reactos/base/shell/explorer/shell/mainframe.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/reactos/base/shell/explorer/shell/mainframe.cpp b/reactos/base/shell/explorer/shell/mainframe.cpp index 748be6b8239..dd8618a7561 100644 --- a/reactos/base/shell/explorer/shell/mainframe.cpp +++ b/reactos/base/shell/explorer/shell/mainframe.cpp @@ -332,15 +332,8 @@ bool MainFrameBase::ProcessMessage(UINT nmsg, WPARAM wparam, LPARAM lparam, LRES break; case WM_SIZE: { -#ifdef __REACTOS__ ///@todo Work around to display rebar in ROS (with flickering) as long as the control isn't fixed - int height = SendMessage(_hwndrebar, RB_GETBARHEIGHT, 0, 0); - MoveWindow(_hwndrebar, 0, 0, LOWORD(lparam), height, TRUE); -#else - resize_frame(LOWORD(lparam), HIWORD(lparam)); - SendMessage(_hwndrebar, WM_SIZE, 0, 0); -#endif - - + resize_frame(LOWORD(lparam), HIWORD(lparam)); + SendMessage(_hwndrebar, WM_SIZE, 0, 0); break;} // do not pass message to DefFrameProc case WM_GETMINMAXINFO: { @@ -769,13 +762,12 @@ MDIMainFrame::MDIMainFrame(HWND hwnd) extraBtns.iBitmap = 8; SendMessage(_hextrabar, TB_INSERTBUTTON, INT_MAX, (LPARAM)&extraBtns); } -#ifndef __REACTOS__ // don't insert reg button for ROS. Regedit should be used. + // insert Registry button extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("Reg.\0")); extraBtns.idCommand = ID_DRIVE_REGISTRY; extraBtns.iBitmap = 9; SendMessage(_hextrabar, TB_INSERTBUTTON, INT_MAX, (LPARAM)&extraBtns); -#endif #ifdef _DEBUG // insert FAT direct file system access button From 9955f52225619f270dacd56d597bd52355a88b25 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 15 Jun 2014 12:02:08 +0000 Subject: [PATCH 085/120] [USETUP] Re-enable scrolling through multiple disks and support logical partitions. svn path=/trunk/; revision=63597 --- reactos/base/setup/usetup/partlist.c | 130 +++++++++++++-------------- 1 file changed, 64 insertions(+), 66 deletions(-) diff --git a/reactos/base/setup/usetup/partlist.c b/reactos/base/setup/usetup/partlist.c index fd6c6137477..0e28213e995 100644 --- a/reactos/base/setup/usetup/partlist.c +++ b/reactos/base/setup/usetup/partlist.c @@ -2013,15 +2013,15 @@ BOOL ScrollDownPartitionList( PPARTLIST List) { -// PDISKENTRY DiskEntry; + PLIST_ENTRY DiskListEntry; + PLIST_ENTRY PartListEntry; + PDISKENTRY DiskEntry; PPARTENTRY PartEntry; - PLIST_ENTRY Entry; - /* Check for empty disks */ + /* Fail, if no disks are available */ if (IsListEmpty(&List->DiskListHead)) return FALSE; - /* Check for next usable entry on current disk */ if (List->CurrentPartition != NULL) { @@ -2029,21 +2029,21 @@ ScrollDownPartitionList( { /* Logical partition */ - Entry = List->CurrentPartition->ListEntry.Flink; - if (Entry != &List->CurrentDisk->LogicalPartListHead) + PartListEntry = List->CurrentPartition->ListEntry.Flink; + if (PartListEntry != &List->CurrentDisk->LogicalPartListHead) { /* Next logical partition */ - PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; return TRUE; } else { - Entry = List->CurrentDisk->ExtendedPartition->ListEntry.Flink; - if (Entry != &List->CurrentDisk->PrimaryPartListHead) + PartListEntry = List->CurrentDisk->ExtendedPartition->ListEntry.Flink; + if (PartListEntry != &List->CurrentDisk->PrimaryPartListHead) { - PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; return TRUE; @@ -2057,10 +2057,10 @@ ScrollDownPartitionList( if (IsContainerPartition(List->CurrentPartition->PartitionType)) { /* First logical partition */ - Entry = List->CurrentDisk->LogicalPartListHead.Flink; - if (Entry != &List->CurrentDisk->LogicalPartListHead) + PartListEntry = List->CurrentDisk->LogicalPartListHead.Flink; + if (PartListEntry != &List->CurrentDisk->LogicalPartListHead) { - PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; return TRUE; @@ -2069,10 +2069,10 @@ ScrollDownPartitionList( else { /* Next primary partition */ - Entry = List->CurrentPartition->ListEntry.Flink; - if (Entry != &List->CurrentDisk->PrimaryPartListHead) + PartListEntry = List->CurrentPartition->ListEntry.Flink; + if (PartListEntry != &List->CurrentDisk->PrimaryPartListHead) { - PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; return TRUE; @@ -2081,32 +2081,24 @@ ScrollDownPartitionList( } } - DPRINT1("TODO: Check the next drive!\n"); - -#if 0 - /* Check for first usable entry on next disk */ - if (List->CurrentDisk != NULL) + /* Search for the first partition entry on the next disk */ + DiskListEntry = List->CurrentDisk->ListEntry.Flink; + while (DiskListEntry != &List->DiskListHead) { - Entry1 = List->CurrentDisk->ListEntry.Flink; - while (Entry1 != &List->DiskListHead) + DiskEntry = CONTAINING_RECORD(DiskListEntry, DISKENTRY, ListEntry); + + PartListEntry = DiskEntry->PrimaryPartListHead.Flink; + if (PartListEntry != &DiskEntry->PrimaryPartListHead) { - DiskEntry = CONTAINING_RECORD(Entry1, DISKENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); - Entry2 = DiskEntry->PartListHead.Flink; - if (Entry2 != &DiskEntry->PartListHead) - { - PartEntry = CONTAINING_RECORD(Entry2, PARTENTRY, ListEntry); - - List->CurrentDisk = DiskEntry; - List->CurrentPartition = PartEntry; - DrawPartitionList(List); - return; - } - - Entry1 = Entry1->Flink; + List->CurrentDisk = DiskEntry; + List->CurrentPartition = PartEntry; + return TRUE; } + + DiskListEntry = DiskListEntry->Flink; } -#endif return FALSE; } @@ -2116,11 +2108,12 @@ BOOL ScrollUpPartitionList( PPARTLIST List) { -// PDISKENTRY DiskEntry; + PLIST_ENTRY DiskListEntry; + PLIST_ENTRY PartListEntry; + PDISKENTRY DiskEntry; PPARTENTRY PartEntry; - PLIST_ENTRY Entry; - /* Check for empty disks */ + /* Fail, if no disks are available */ if (IsListEmpty(&List->DiskListHead)) return FALSE; @@ -2130,11 +2123,11 @@ ScrollUpPartitionList( if (List->CurrentPartition->LogicalPartition) { /* Logical partition */ - Entry = List->CurrentPartition->ListEntry.Blink; - if (Entry != &List->CurrentDisk->LogicalPartListHead) + PartListEntry = List->CurrentPartition->ListEntry.Blink; + if (PartListEntry != &List->CurrentDisk->LogicalPartListHead) { /* Previous logical partition */ - PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); } else { @@ -2149,15 +2142,15 @@ ScrollUpPartitionList( { /* Primary or extended partition */ - Entry = List->CurrentPartition->ListEntry.Blink; - if (Entry != &List->CurrentDisk->PrimaryPartListHead) + PartListEntry = List->CurrentPartition->ListEntry.Blink; + if (PartListEntry != &List->CurrentDisk->PrimaryPartListHead) { - PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); if (IsContainerPartition(PartEntry->PartitionType)) { - Entry = List->CurrentDisk->LogicalPartListHead.Blink; - PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + PartListEntry = List->CurrentDisk->LogicalPartListHead.Blink; + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); } List->CurrentPartition = PartEntry; @@ -2167,34 +2160,39 @@ ScrollUpPartitionList( } } - DPRINT1("TODO: Check the previous drive!\n"); - -#if 0 - /* check for last usable entry on previous disk */ - if (List->CurrentDisk != NULL) + /* Search for the last partition entry on the previous disk */ + DiskListEntry = List->CurrentDisk->ListEntry.Blink; + while (DiskListEntry != &List->DiskListHead) { - Entry1 = List->CurrentDisk->ListEntry.Blink; - while (Entry1 != &List->DiskListHead) + DiskEntry = CONTAINING_RECORD(DiskListEntry, DISKENTRY, ListEntry); + + PartListEntry = DiskEntry->PrimaryPartListHead.Blink; + if (PartListEntry != &DiskEntry->PrimaryPartListHead) { - DiskEntry = CONTAINING_RECORD(Entry1, DISKENTRY, ListEntry); + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); - Entry2 = DiskEntry->PrimaryPartListHead.Blink; - if (Entry2 != &DiskEntry->PrimaryPartListHead) + if (IsContainerPartition(PartEntry->PartitionType)) { - PartEntry = CONTAINING_RECORD(Entry2, PARTENTRY, ListEntry); + PartListEntry = DiskEntry->LogicalPartListHead.Blink; + if (PartListEntry != &DiskEntry->LogicalPartListHead) + { + PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); + List->CurrentDisk = DiskEntry; + List->CurrentPartition = PartEntry; + return TRUE; + } + } + else + { List->CurrentDisk = DiskEntry; List->CurrentPartition = PartEntry; - - /* Draw partition list and return */ - DrawPartitionList(List); - return; + return TRUE; } - - Entry1 = Entry1->Blink; } + + DiskListEntry = DiskListEntry->Blink; } -#endif return FALSE; } From 422d0d9ca3e94c858cb38d489496edb76bbdca6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 15 Jun 2014 14:59:26 +0000 Subject: [PATCH 086/120] [CONSRV]: Add information info for the changes of r63595. svn path=/trunk/; revision=63598 --- reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c | 1 + reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c | 1 + 2 files changed, 2 insertions(+) diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index 71aa6d76325..5e04d1e3d7b 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -588,6 +588,7 @@ OnNcCreate(HWND hWnd, LPCREATESTRUCTW Create) SetWindowLongPtrW(GuiData->hWindow, GWLP_USERDATA, (DWORD_PTR)GuiData); SetTimer(GuiData->hWindow, CONGUI_UPDATE_TIMER, CONGUI_UPDATE_TIME, NULL); + // FIXME: HACK: Potential HACK for CORE-8129; see revision 63595. //CreateSysMenu(GuiData->hWindow); DPRINT("OnNcCreate - setting start event\n"); diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c index a73b5223a9b..9479917c4ea 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c @@ -200,6 +200,7 @@ GuiConsoleNotifyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) GuiConsoleMoveWindow(GuiData); // FIXME: This MUST be done via the CreateWindowExW call. SendMessageW(GuiData->hWindow, PM_RESIZE_TERMINAL, 0, 0); + // FIXME: HACK: Potential HACK for CORE-8129; see revision 63595. CreateSysMenu(GuiData->hWindow); /* Switch to full-screen mode if necessary */ From 6d276265c1f5b7b0ebde14fc16a43b157d3e4d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 15 Jun 2014 17:47:40 +0000 Subject: [PATCH 087/120] [TASKMGR]: Use the EndTask API to kill tasks. svn path=/trunk/; revision=63599 --- reactos/base/applications/taskmgr/applpage.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reactos/base/applications/taskmgr/applpage.c b/reactos/base/applications/taskmgr/applpage.c index f9c2949603e..5eabd19eeb6 100644 --- a/reactos/base/applications/taskmgr/applpage.c +++ b/reactos/base/applications/taskmgr/applpage.c @@ -869,6 +869,9 @@ void ApplicationPage_OnEndTask(void) LV_ITEM item; int i; + /* Trick: on Windows, pressing the CTRL key forces the task to be ended */ + BOOL ForceEndTask = !!(GetKeyState(VK_CONTROL) & 0x8000); + for (i=0; ihWnd, WM_CLOSE, 0, 0); + EndTask(pAPLI->hWnd, 0, ForceEndTask); } } } From 8c1cde9a6ac503fe73b35767fdd3b0c8850b862e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 15 Jun 2014 19:28:41 +0000 Subject: [PATCH 088/120] [CSRSRV] - Cleanup CSRSRV from the very last remnants of CsrEnumProcesses i.e. the old & buggy way of shutdowning process (lots of work must be done in winsrv side). - Fixup FindProcessForShutdown (reenable commented code in it, and set a proper status error code if CsrImpersonateClient call fails). svn path=/trunk/; revision=63600 --- reactos/subsystems/win32/csrsrv/api.h | 2 - reactos/subsystems/win32/csrsrv/csrsrv.spec | 1 - reactos/subsystems/win32/csrsrv/procsup.c | 305 +++++++------------- 3 files changed, 106 insertions(+), 202 deletions(-) diff --git a/reactos/subsystems/win32/csrsrv/api.h b/reactos/subsystems/win32/csrsrv/api.h index bf83165c90a..81b979a2315 100644 --- a/reactos/subsystems/win32/csrsrv/api.h +++ b/reactos/subsystems/win32/csrsrv/api.h @@ -153,8 +153,6 @@ NTSTATUS NTAPI CsrInitializeProcessStructure(VOID); -// NTSTATUS WINAPI CsrEnumProcesses(CSRSS_ENUM_PROCESS_PROC EnumProc, -// PVOID Context); PCSR_THREAD NTAPI CsrLocateThreadInProcess(IN PCSR_PROCESS CsrProcess OPTIONAL, diff --git a/reactos/subsystems/win32/csrsrv/csrsrv.spec b/reactos/subsystems/win32/csrsrv/csrsrv.spec index 2f968e6ebad..218703d1023 100644 --- a/reactos/subsystems/win32/csrsrv/csrsrv.spec +++ b/reactos/subsystems/win32/csrsrv/csrsrv.spec @@ -12,7 +12,6 @@ @ stdcall CsrDereferenceWait(ptr) @ stdcall CsrDestroyProcess(ptr long) @ stdcall CsrDestroyThread(ptr) -;@ stdcall CsrEnumProcesses(ptr ptr) ;;;;;;; Temporary hack used in win32csr, to be removed @ stdcall CsrExecServerThread(ptr long) @ stdcall CsrGetProcessLuid(ptr ptr) @ stdcall CsrImpersonateClient(ptr) diff --git a/reactos/subsystems/win32/csrsrv/procsup.c b/reactos/subsystems/win32/csrsrv/procsup.c index 451f2697d45..af89f6e97d9 100644 --- a/reactos/subsystems/win32/csrsrv/procsup.c +++ b/reactos/subsystems/win32/csrsrv/procsup.c @@ -96,109 +96,6 @@ CsrSetToShutdownPriority(VOID) } } -/*++ - * @name FindProcessForShutdown - * - * The FindProcessForShutdown routine returns a CSR Process which is ready - * to be shutdown, and sets the appropriate shutdown flags for it. - * - * @param CallerLuid - * Pointer to the LUID of the CSR Process calling this routine. - * - * @return Pointer to a CSR Process which is ready to be shutdown. - * - * @remarks None. - * - *--*/ -PCSR_PROCESS -NTAPI -FindProcessForShutdown(IN PLUID CallerLuid) -{ - PCSR_PROCESS CsrProcess, ReturnCsrProcess = NULL; - // PCSR_THREAD CsrThread; - NTSTATUS Status; - ULONG Level = 0; - LUID ProcessLuid; - LUID SystemLuid = SYSTEM_LUID; - // BOOLEAN IsSystemLuid = FALSE, IsOurLuid = FALSE; - PLIST_ENTRY NextEntry; - - /* Set the List Pointers */ - NextEntry = CsrRootProcess->ListLink.Flink; - while (NextEntry != &CsrRootProcess->ListLink) - { - /* Get the process */ - CsrProcess = CONTAINING_RECORD(NextEntry, CSR_PROCESS, ListLink); - - /* Move to the next entry */ - NextEntry = NextEntry->Flink; - - /* Skip this process if it's already been processed */ - if (CsrProcess->Flags & CsrProcessSkipShutdown) continue; - - /* Get the LUID of this Process */ - Status = CsrGetProcessLuid(CsrProcess->ProcessHandle, &ProcessLuid); - - /* Check if we didn't get access to the LUID */ - if (Status == STATUS_ACCESS_DENIED) - { - /* FIXME: Check if we have any threads */ -/* - /\* Check if we have any threads *\/ - if (CsrProcess->ThreadCount) - { - /\* Impersonate one of the threads and retry *\/ - CsrThread = CONTAINING_RECORD(CsrProcess->ThreadList.Flink, - CSR_THREAD, - Link); - CsrImpersonateClient(CsrThread); - Status = CsrGetProcessLuid(NULL, &ProcessLuid); - CsrRevertToSelf(); - } -*/ - } - - if (!NT_SUCCESS(Status)) - { - /* We didn't have access, so skip it */ - CsrProcess->Flags |= CsrProcessSkipShutdown; - continue; - } - - /* Check if this is the System LUID */ - if ((/*IsSystemLuid =*/ RtlEqualLuid(&ProcessLuid, &SystemLuid))) - { - /* Mark this process */ - CsrProcess->ShutdownFlags |= CsrShutdownSystem; - } - else if (!(/*IsOurLuid =*/ RtlEqualLuid(&ProcessLuid, CallerLuid))) - { - /* Our LUID doesn't match with the caller's */ - CsrProcess->ShutdownFlags |= CsrShutdownOther; - } - - /* Check if we're past the previous level */ - // FIXME: if ((CsrProcess->ShutdownLevel > Level) || !(ReturnCsrProcess)) - if (CsrProcess->ShutdownLevel > Level /* || !ReturnCsrProcess */) - { - /* Update the level */ - Level = CsrProcess->ShutdownLevel; - - /* Set the final process */ - ReturnCsrProcess = CsrProcess; - } - } - - /* Check if we found a process */ - if (ReturnCsrProcess) - { - /* Skip this one next time */ - ReturnCsrProcess->Flags |= CsrProcessSkipShutdown; - } - - return ReturnCsrProcess; -} - /*++ * @name CsrProcessRefcountZero * @@ -1243,6 +1140,110 @@ CsrSetForegroundPriority(IN PCSR_PROCESS CsrProcess) sizeof(PriorityClass)); } +/*++ + * @name FindProcessForShutdown + * + * The FindProcessForShutdown routine returns a CSR Process which is ready + * to be shutdown, and sets the appropriate shutdown flags for it. + * + * @param CallerLuid + * Pointer to the LUID of the CSR Process calling this routine. + * + * @return Pointer to a CSR Process which is ready to be shutdown. + * + * @remarks None. + * + *--*/ +PCSR_PROCESS +NTAPI +FindProcessForShutdown(IN PLUID CallerLuid) +{ + PCSR_PROCESS CsrProcess, ReturnCsrProcess = NULL; + PCSR_THREAD CsrThread; + NTSTATUS Status; + ULONG Level = 0; + LUID ProcessLuid; + LUID SystemLuid = SYSTEM_LUID; + PLIST_ENTRY NextEntry; + + /* Set the List Pointers */ + NextEntry = CsrRootProcess->ListLink.Flink; + while (NextEntry != &CsrRootProcess->ListLink) + { + /* Get the process */ + CsrProcess = CONTAINING_RECORD(NextEntry, CSR_PROCESS, ListLink); + + /* Move to the next entry */ + NextEntry = NextEntry->Flink; + + /* Skip this process if it's already been processed */ + if (CsrProcess->Flags & CsrProcessSkipShutdown) continue; + + /* Get the LUID of this process */ + Status = CsrGetProcessLuid(CsrProcess->ProcessHandle, &ProcessLuid); + + /* Check if we didn't get access to the LUID */ + if (Status == STATUS_ACCESS_DENIED) + { + /* Check if we have any threads */ + if (CsrProcess->ThreadCount) + { + /* Impersonate one of the threads and retry */ + CsrThread = CONTAINING_RECORD(CsrProcess->ThreadList.Flink, + CSR_THREAD, + Link); + if (CsrImpersonateClient(CsrThread)) + { + Status = CsrGetProcessLuid(NULL, &ProcessLuid); + CsrRevertToSelf(); + } + else + { + Status = STATUS_BAD_IMPERSONATION_LEVEL; + } + } + } + + if (!NT_SUCCESS(Status)) + { + /* We didn't have access, so skip it */ + CsrProcess->Flags |= CsrProcessSkipShutdown; + continue; + } + + /* Check if this is the System LUID */ + if (RtlEqualLuid(&ProcessLuid, &SystemLuid)) + { + /* Mark this process */ + CsrProcess->ShutdownFlags |= CsrShutdownSystem; + } + else if (!RtlEqualLuid(&ProcessLuid, CallerLuid)) + { + /* Our LUID doesn't match with the caller's */ + CsrProcess->ShutdownFlags |= CsrShutdownOther; + } + + /* Check if we're past the previous level */ + if ((CsrProcess->ShutdownLevel > Level) || !ReturnCsrProcess) + { + /* Update the level */ + Level = CsrProcess->ShutdownLevel; + + /* Set the final process */ + ReturnCsrProcess = CsrProcess; + } + } + + /* Check if we found a process */ + if (ReturnCsrProcess) + { + /* Skip this one next time */ + ReturnCsrProcess->Flags |= CsrProcessSkipShutdown; + } + + return ReturnCsrProcess; +} + /*++ * @name CsrShutdownProcesses * @implemented NT4 @@ -1273,7 +1274,7 @@ CsrShutdownProcesses(IN PLUID CallerLuid, BOOLEAN FirstTry; ULONG i; PCSR_SERVER_DLL ServerDll; - ULONG Result = 0; /* Intentionally invalid enumeratee to silence compiler warning */ + ULONG Result = 0; /* Acquire process lock */ CsrAcquireProcessLock(); @@ -1353,7 +1354,7 @@ CsrShutdownProcesses(IN PLUID CallerLuid, } /* No matches during the first try, so loop again */ - if ((FirstTry) && (Result == CsrShutdownNonCsrProcess)) + if (FirstTry && (Result == CsrShutdownNonCsrProcess)) { FirstTry = FALSE; continue; @@ -1378,100 +1379,6 @@ Quickie: return Status; } -/* HACK: Temporary hack. This is really "CsrShutdownProcesses", mostly. Used by winsrv */ -#if 0 -NTSTATUS -WINAPI -CsrEnumProcesses(IN CSRSS_ENUM_PROCESS_PROC EnumProc, - IN PVOID Context) -{ - PVOID* RealContext = (PVOID*)Context; - PLUID CallerLuid = RealContext[0]; - PCSR_PROCESS CsrProcess = NULL; - NTSTATUS Status = STATUS_UNSUCCESSFUL; - BOOLEAN FirstTry; - PLIST_ENTRY NextEntry; - ULONG Result = 0; - - /* Acquire process lock */ - CsrAcquireProcessLock(); - - /* Get the list pointers */ - NextEntry = CsrRootProcess->ListLink.Flink; - while (NextEntry != &CsrRootProcess->ListLink) - { - /* Get the Process */ - CsrProcess = CONTAINING_RECORD(NextEntry, CSR_PROCESS, ListLink); - - /* Move to the next entry */ - NextEntry = NextEntry->Flink; - - /* Remove the skip flag, set shutdown flags to 0 */ - CsrProcess->Flags &= ~CsrProcessSkipShutdown; - CsrProcess->ShutdownFlags = 0; - } - - /* Set shudown Priority */ - CsrSetToShutdownPriority(); - - /* Loop all processes */ - //DPRINT1("Enumerating for LUID: %lx %lx\n", CallerLuid->HighPart, CallerLuid->LowPart); - - /* Start looping */ - while (TRUE) - { - /* Find the next process to shutdown */ - FirstTry = TRUE; - if (!(CsrProcess = FindProcessForShutdown(CallerLuid))) - { - /* Done, quit */ - CsrReleaseProcessLock(); - Status = STATUS_SUCCESS; - goto Quickie; - } - -LoopAgain: - /* Release the lock, make the callback, and acquire it back */ - //DPRINT1("Found process: %lx\n", CsrProcess->ClientId.UniqueProcess); - CsrReleaseProcessLock(); - Result = (ULONG)EnumProc(CsrProcess, (PVOID)((ULONG_PTR)Context | FirstTry)); - CsrAcquireProcessLock(); - - /* Check the result */ - //DPRINT1("Result: %d\n", Result); - if (Result == CsrShutdownCsrProcess) - { - /* The callback unlocked the process */ - break; - } - else if (Result == CsrShutdownNonCsrProcess) - { - /* A non-CSR process, the callback didn't touch it */ - //continue; - } - else if (Result == CsrShutdownCancelled) - { - /* Shutdown was cancelled, unlock and exit */ - CsrReleaseProcessLock(); - Status = STATUS_CANCELLED; - goto Quickie; - } - - /* No matches during the first try, so loop again */ - if (FirstTry && Result == CsrShutdownNonCsrProcess) - { - FirstTry = FALSE; - goto LoopAgain; - } - } - -Quickie: - /* Return to normal priority */ - CsrSetToNormalPriority(); - return Status; -} -#endif - /*++ * @name CsrUnlockProcess * @implemented NT4 From 09fe96f36188caf9697b6e1bb8dd27b09bb7fc94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 15 Jun 2014 20:02:26 +0000 Subject: [PATCH 089/120] [EXPLORER][EXPLORER_NEW] [TASKMGR] Set a proper shutdown level (with SetProcessShutdownParameters) so that explorer and taskmgr are terminated the very last when one shutdowns ReactOS. See Windows Internals 4th page 286 (section "Shutdown") which gives the values (that I've cross-checked on Windows 2k3 too). svn path=/trunk/; revision=63601 --- reactos/base/applications/taskmgr/taskmgr.c | 6 ++++++ reactos/base/shell/explorer/explorer.cpp | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/reactos/base/applications/taskmgr/taskmgr.c b/reactos/base/applications/taskmgr/taskmgr.c index 5fec61407b2..cf94146762c 100644 --- a/reactos/base/applications/taskmgr/taskmgr.c +++ b/reactos/base/applications/taskmgr/taskmgr.c @@ -172,6 +172,12 @@ int APIENTRY wWinMain(HINSTANCE hInstance, return -1; } + /* + * Set our shutdown parameters: we want to shutdown the very last, + * without displaying any end task dialog if needed. + */ + SetProcessShutdownParameters(1, SHUTDOWN_NORETRY); + DialogBoxW(hInst, (LPCWSTR)IDD_TASKMGR_DIALOG, NULL, TaskManagerWndProc); /* Save our settings to the registry */ diff --git a/reactos/base/shell/explorer/explorer.cpp b/reactos/base/shell/explorer/explorer.cpp index db931cb8f05..ffe9d23fe2a 100644 --- a/reactos/base/shell/explorer/explorer.cpp +++ b/reactos/base/shell/explorer/explorer.cpp @@ -1203,6 +1203,12 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL "ROS Explorer - command line options", MB_OK); } + /* + * Set our shutdown parameters: we want to shutdown the very last, + * but before any TaskMgr instance (which has a shutdown level of 1). + */ + SetProcessShutdownParameters(2, 0); + Thread* pSSOThread = NULL; if (startup_desktop) { From d81aed45c9fcac72bb652648b331e12eecb5965d Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sun, 15 Jun 2014 21:53:23 +0000 Subject: [PATCH 090/120] [User32] - Patch by Henri Verbeet : Ensure at least one character is used in TEXT_WordBreak(). svn path=/trunk/; revision=63602 --- reactos/win32ss/user/user32/windows/font.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reactos/win32ss/user/user32/windows/font.c b/reactos/win32ss/user/user32/windows/font.c index 7b5e1431f0d..dc4c9a14dd8 100644 --- a/reactos/win32ss/user/user32/windows/font.c +++ b/reactos/win32ss/user/user32/windows/font.c @@ -636,8 +636,9 @@ static void TEXT_WordBreak (HDC hdc, WCHAR *str, unsigned int max_str, DT_EDITCONTROL) { /* break the word after the last character that fits (there must be - * at least one; none is caught earlier). - */ + * at least one). */ + if (!chars_fit) + ++chars_fit; *len_str = chars_fit; *chars_used = chars_fit; From fc8ed44177b8538d7c45747b9bfb8367a8c6bc59 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sun, 15 Jun 2014 21:54:12 +0000 Subject: [PATCH 091/120] - Update wine test to 1.7.20. svn path=/trunk/; revision=63603 --- rostests/winetests/user32/text.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rostests/winetests/user32/text.c b/rostests/winetests/user32/text.c index 19bcd72abbe..06705a7fe46 100755 --- a/rostests/winetests/user32/text.c +++ b/rostests/winetests/user32/text.c @@ -564,6 +564,10 @@ static void test_DrawTextCalcRect(void) textheight = DrawTextA(hdc, wordbreak_text, -1, &rect, DT_CALCRECT | DT_WORDBREAK); ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n", textheight, heightcheck * 2); + SetRect(&rect, 0, 0, 1, 1); + textheight = DrawTextA(hdc, wordbreak_text, -1, &rect, DT_CALCRECT | DT_WORDBREAK | DT_EDITCONTROL); + ok(textheight >= heightcheck * 6, "Got unexpected textheight %d, expected at least %d.\n", + textheight, heightcheck * 6); SetRect(&rect, 0, 0, 1, 1); heightcheck = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT); @@ -571,6 +575,10 @@ static void test_DrawTextCalcRect(void) textheight = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT | DT_WORDBREAK); ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n", textheight, heightcheck * 2); + SetRect(&rect, 0, 0, 1, 1); + textheight = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT | DT_WORDBREAK | DT_EDITCONTROL); + ok(textheight >= heightcheck * 6, "Got unexpected textheight %d, expected at least %d.\n", + textheight, heightcheck * 6); SelectObject(hdc, hOldFont); ret = DeleteObject(hFont); From f5d1d7e5b172cc32b5693295d8b7df1e3aee9ca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Mon, 16 Jun 2014 00:49:28 +0000 Subject: [PATCH 092/120] [SERVICES] The SCM also sets a shutdown level, lower than the default value for programs (this was cross-checked with Windows 2k3, the value chosen is for compatibility purposes). svn path=/trunk/; revision=63604 --- reactos/base/system/services/services.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reactos/base/system/services/services.c b/reactos/base/system/services/services.c index 4163a3c7a01..a288baf5226 100644 --- a/reactos/base/system/services/services.c +++ b/reactos/base/system/services/services.c @@ -402,6 +402,12 @@ wWinMain(HINSTANCE hInstance, /* Register event handler (used for system shutdown) */ SetConsoleCtrlHandler(ShutdownHandlerRoutine, TRUE); + /* + * Set our shutdown parameters: we want to shutdown after the maintained + * services (that inherit the default shutdown level of 640). + */ + SetProcessShutdownParameters(480, SHUTDOWN_NORETRY); + /* Start auto-start services */ ScmAutoStartServices(); From c1b41411c248f181c7ff5e97966ca550bf46732c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Mon, 16 Jun 2014 16:31:06 +0000 Subject: [PATCH 093/120] [RPCRT4] - Free parameters allocated by application before anything else. See CORE-8200 #comment committed in r63605, waiting for wine to accept it before closing. svn path=/trunk/; revision=63605 --- reactos/dll/win32/rpcrt4/ndr_stubless.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/ndr_stubless.c b/reactos/dll/win32/rpcrt4/ndr_stubless.c index e43ddde805b..72a853701d8 100644 --- a/reactos/dll/win32/rpcrt4/ndr_stubless.c +++ b/reactos/dll/win32/rpcrt4/ndr_stubless.c @@ -1079,6 +1079,19 @@ static LONG_PTR *stub_do_args(MIDL_STUB_MESSAGE *pStubMsg, unsigned int i; LONG_PTR *retval_ptr = NULL; + if (phase == STUBLESS_FREE) + { + /* Process the params allocated by the application first */ + for (i = 0; i < number_of_params; i++) + { + unsigned char *pArg = pStubMsg->StackTop + params[i].stack_offset; + if (params[i].attr.MustFree) + { + call_freer(pStubMsg, pArg, ¶ms[i]); + } + } + } + for (i = 0; i < number_of_params; i++) { unsigned char *pArg = pStubMsg->StackTop + params[i].stack_offset; @@ -1096,11 +1109,7 @@ static LONG_PTR *stub_do_args(MIDL_STUB_MESSAGE *pStubMsg, call_marshaller(pStubMsg, pArg, ¶ms[i]); break; case STUBLESS_FREE: - if (params[i].attr.MustFree) - { - call_freer(pStubMsg, pArg, ¶ms[i]); - } - else if (params[i].attr.ServerAllocSize) + if (params[i].attr.ServerAllocSize) { HeapFree(GetProcessHeap(), 0, *(void **)pArg); } From 00f730ca44699ca6aecea03f7ddc21e6a147471c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Mon, 16 Jun 2014 18:18:40 +0000 Subject: [PATCH 094/120] [OPENGL32/MESA] - Get rid of support for ARB_texture_float, ARB_half_float_vertex and ARB_half_float_pixel svn path=/trunk/; revision=63606 --- reactos/dll/opengl/mesa/main/extensions.c | 6 - reactos/dll/opengl/mesa/main/format_pack.c | 221 ------------------ reactos/dll/opengl/mesa/main/format_unpack.c | 169 -------------- reactos/dll/opengl/mesa/main/formats.c | 176 -------------- reactos/dll/opengl/mesa/main/formats.h | 18 -- reactos/dll/opengl/mesa/main/image.c | 21 -- reactos/dll/opengl/mesa/main/imports.c | 140 ----------- reactos/dll/opengl/mesa/main/imports.h | 6 - reactos/dll/opengl/mesa/main/mtypes.h | 3 - reactos/dll/opengl/mesa/main/pack.c | 167 ------------- reactos/dll/opengl/mesa/main/texformat.c | 75 ------ reactos/dll/opengl/mesa/main/texgetimage.c | 1 - reactos/dll/opengl/mesa/main/teximage.c | 25 -- reactos/dll/opengl/mesa/main/texparam.c | 32 +-- reactos/dll/opengl/mesa/main/texstore.c | 159 ------------- reactos/dll/opengl/mesa/main/varray.c | 5 - reactos/dll/opengl/mesa/main/version.c | 3 - reactos/dll/opengl/mesa/swrast/s_texfetch.c | 73 ------ .../dll/opengl/mesa/swrast/s_texfetch_tmp.h | 213 ----------------- reactos/dll/opengl/mesa/tnl/t_draw.c | 21 -- 20 files changed, 4 insertions(+), 1530 deletions(-) diff --git a/reactos/dll/opengl/mesa/main/extensions.c b/reactos/dll/opengl/mesa/main/extensions.c index a90e7f426b9..02c8dbf1c1b 100644 --- a/reactos/dll/opengl/mesa/main/extensions.c +++ b/reactos/dll/opengl/mesa/main/extensions.c @@ -61,8 +61,6 @@ struct extension { */ static const struct extension extension_table[] = { /* ARB Extensions */ - { "GL_ARB_half_float_pixel", o(ARB_half_float_pixel), 2003 }, - { "GL_ARB_half_float_vertex", o(ARB_half_float_vertex), 2008 }, { "GL_ARB_map_buffer_range", o(ARB_map_buffer_range), 2008 }, { "GL_ARB_multisample", o(dummy_true), 1994 }, { "GL_ARB_point_parameters", o(EXT_point_parameters), 1997 }, @@ -72,7 +70,6 @@ static const struct extension extension_table[] = { { "GL_ARB_texture_env_combine", o(ARB_texture_env_combine), 2001 }, { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), 2001 }, { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), 2001 }, - { "GL_ARB_texture_float", o(ARB_texture_float), 2004 }, { "GL_ARB_texture_mirrored_repeat", o(dummy_true), 2001 }, { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), 2003 }, { "GL_ARB_texture_storage", o(ARB_texture_storage), 2011 }, @@ -121,7 +118,6 @@ static const struct extension extension_table[] = { { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), 2002 }, { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), 2003 }, { "GL_ATI_texture_env_combine3", o(ATI_texture_env_combine3), 2002 }, - { "GL_ATI_texture_float", o(ARB_texture_float), 2002 }, { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), 1998 }, { "GL_IBM_rasterpos_clip", o(IBM_rasterpos_clip), 1996 }, { "GL_IBM_texture_mirrored_repeat", o(dummy_true), 1998 }, @@ -203,8 +199,6 @@ static const size_t default_extensions[] = { void _mesa_enable_sw_extensions(struct gl_context *ctx) { - ctx->Extensions.ARB_half_float_pixel = GL_TRUE; - ctx->Extensions.ARB_half_float_vertex = GL_TRUE; ctx->Extensions.ARB_map_buffer_range = GL_TRUE; ctx->Extensions.ARB_point_sprite = GL_TRUE; ctx->Extensions.ARB_texture_cube_map = GL_TRUE; diff --git a/reactos/dll/opengl/mesa/main/format_pack.c b/reactos/dll/opengl/mesa/main/format_pack.c index 31b247650a2..3842289068b 100644 --- a/reactos/dll/opengl/mesa/main/format_pack.c +++ b/reactos/dll/opengl/mesa/main/format_pack.c @@ -810,200 +810,6 @@ pack_float_YCBCR_REV(const GLfloat src[4], void *dst) } -/* MESA_FORMAT_RGBA_FLOAT32 */ - -static void -pack_ubyte_RGBA_FLOAT32(const GLubyte src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = UBYTE_TO_FLOAT(src[0]); - d[1] = UBYTE_TO_FLOAT(src[1]); - d[2] = UBYTE_TO_FLOAT(src[2]); - d[3] = UBYTE_TO_FLOAT(src[3]); -} - -static void -pack_float_RGBA_FLOAT32(const GLfloat src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = src[0]; - d[1] = src[1]; - d[2] = src[2]; - d[3] = src[3]; -} - - -/* MESA_FORMAT_RGBA_FLOAT16 */ - -static void -pack_ubyte_RGBA_FLOAT16(const GLubyte src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[0])); - d[1] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[1])); - d[2] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[2])); - d[3] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[3])); -} - -static void -pack_float_RGBA_FLOAT16(const GLfloat src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(src[0]); - d[1] = _mesa_float_to_half(src[1]); - d[2] = _mesa_float_to_half(src[2]); - d[3] = _mesa_float_to_half(src[3]); -} - - -/* MESA_FORMAT_RGB_FLOAT32 */ - -static void -pack_ubyte_RGB_FLOAT32(const GLubyte src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = UBYTE_TO_FLOAT(src[0]); - d[1] = UBYTE_TO_FLOAT(src[1]); - d[2] = UBYTE_TO_FLOAT(src[2]); -} - -static void -pack_float_RGB_FLOAT32(const GLfloat src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = src[0]; - d[1] = src[1]; - d[2] = src[2]; -} - - -/* MESA_FORMAT_RGB_FLOAT16 */ - -static void -pack_ubyte_RGB_FLOAT16(const GLubyte src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[0])); - d[1] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[1])); - d[2] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[2])); -} - -static void -pack_float_RGB_FLOAT16(const GLfloat src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(src[0]); - d[1] = _mesa_float_to_half(src[1]); - d[2] = _mesa_float_to_half(src[2]); -} - - -/* MESA_FORMAT_ALPHA_FLOAT32 */ - -static void -pack_ubyte_ALPHA_FLOAT32(const GLubyte src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = UBYTE_TO_FLOAT(src[ACOMP]); -} - -static void -pack_float_ALPHA_FLOAT32(const GLfloat src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = src[ACOMP]; -} - - -/* MESA_FORMAT_ALPHA_FLOAT16 */ - -static void -pack_ubyte_ALPHA_FLOAT16(const GLubyte src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[ACOMP])); -} - -static void -pack_float_ALPHA_FLOAT16(const GLfloat src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(src[ACOMP]); -} - - -/* MESA_FORMAT_LUMINANCE_FLOAT32 (and INTENSITY_FLOAT32, R_FLOAT32) */ - -static void -pack_ubyte_LUMINANCE_FLOAT32(const GLubyte src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = UBYTE_TO_FLOAT(src[RCOMP]); -} - -static void -pack_float_LUMINANCE_FLOAT32(const GLfloat src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = src[RCOMP]; -} - - -/* MESA_FORMAT_LUMINANCE_FLOAT16 (and INTENSITY_FLOAT16, R_FLOAT32) */ - -static void -pack_ubyte_LUMINANCE_FLOAT16(const GLubyte src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[RCOMP])); -} - -static void -pack_float_LUMINANCE_FLOAT16(const GLfloat src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(src[RCOMP]); -} - - -/* MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32 */ - -static void -pack_ubyte_LUMINANCE_ALPHA_FLOAT32(const GLubyte src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = UBYTE_TO_FLOAT(src[RCOMP]); - d[1] = UBYTE_TO_FLOAT(src[ACOMP]); -} - -static void -pack_float_LUMINANCE_ALPHA_FLOAT32(const GLfloat src[4], void *dst) -{ - GLfloat *d = ((GLfloat *) dst); - d[0] = src[RCOMP]; - d[1] = src[ACOMP]; -} - - -/* MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16 */ - -static void -pack_ubyte_LUMINANCE_ALPHA_FLOAT16(const GLubyte src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[RCOMP])); - d[1] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[ACOMP])); -} - -static void -pack_float_LUMINANCE_ALPHA_FLOAT16(const GLfloat src[4], void *dst) -{ - GLhalfARB *d = ((GLhalfARB *) dst); - d[0] = _mesa_float_to_half(src[RCOMP]); - d[1] = _mesa_float_to_half(src[ACOMP]); -} - - /* MESA_FORMAT_RGBA_16 */ static void @@ -1095,19 +901,6 @@ _mesa_get_pack_ubyte_rgba_function(gl_format format) table[MESA_FORMAT_Z32] = NULL; table[MESA_FORMAT_S8] = NULL; - table[MESA_FORMAT_RGBA_FLOAT32] = pack_ubyte_RGBA_FLOAT32; - table[MESA_FORMAT_RGBA_FLOAT16] = pack_ubyte_RGBA_FLOAT16; - table[MESA_FORMAT_RGB_FLOAT32] = pack_ubyte_RGB_FLOAT32; - table[MESA_FORMAT_RGB_FLOAT16] = pack_ubyte_RGB_FLOAT16; - table[MESA_FORMAT_ALPHA_FLOAT32] = pack_ubyte_ALPHA_FLOAT32; - table[MESA_FORMAT_ALPHA_FLOAT16] = pack_ubyte_ALPHA_FLOAT16; - table[MESA_FORMAT_LUMINANCE_FLOAT32] = pack_ubyte_LUMINANCE_FLOAT32; - table[MESA_FORMAT_LUMINANCE_FLOAT16] = pack_ubyte_LUMINANCE_FLOAT16; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32] = pack_ubyte_LUMINANCE_ALPHA_FLOAT32; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16] = pack_ubyte_LUMINANCE_ALPHA_FLOAT16; - table[MESA_FORMAT_INTENSITY_FLOAT32] = pack_ubyte_LUMINANCE_FLOAT32; - table[MESA_FORMAT_INTENSITY_FLOAT16] = pack_ubyte_LUMINANCE_FLOAT16; - /* n/a */ table[MESA_FORMAT_RGBA_INT8] = NULL; /* pack_ubyte_RGBA_INT8 */ table[MESA_FORMAT_RGBA_INT16] = NULL; /* pack_ubyte_RGBA_INT16 */ @@ -1185,20 +978,6 @@ _mesa_get_pack_float_rgba_function(gl_format format) table[MESA_FORMAT_Z32] = NULL; table[MESA_FORMAT_S8] = NULL; - table[MESA_FORMAT_RGBA_FLOAT32] = pack_float_RGBA_FLOAT32; - table[MESA_FORMAT_RGBA_FLOAT16] = pack_float_RGBA_FLOAT16; - table[MESA_FORMAT_RGB_FLOAT32] = pack_float_RGB_FLOAT32; - table[MESA_FORMAT_RGB_FLOAT16] = pack_float_RGB_FLOAT16; - table[MESA_FORMAT_ALPHA_FLOAT32] = pack_float_ALPHA_FLOAT32; - table[MESA_FORMAT_ALPHA_FLOAT16] = pack_float_ALPHA_FLOAT16; - table[MESA_FORMAT_LUMINANCE_FLOAT32] = pack_float_LUMINANCE_FLOAT32; - table[MESA_FORMAT_LUMINANCE_FLOAT16] = pack_float_LUMINANCE_FLOAT16; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32] = pack_float_LUMINANCE_ALPHA_FLOAT32; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16] = pack_float_LUMINANCE_ALPHA_FLOAT16; - - table[MESA_FORMAT_INTENSITY_FLOAT32] = pack_float_LUMINANCE_FLOAT32; - table[MESA_FORMAT_INTENSITY_FLOAT16] = pack_float_LUMINANCE_FLOAT16; - /* n/a */ table[MESA_FORMAT_RGBA_INT8] = NULL; table[MESA_FORMAT_RGBA_INT16] = NULL; diff --git a/reactos/dll/opengl/mesa/main/format_unpack.c b/reactos/dll/opengl/mesa/main/format_unpack.c index 057ceab4533..bca514d9c10 100644 --- a/reactos/dll/opengl/mesa/main/format_unpack.c +++ b/reactos/dll/opengl/mesa/main/format_unpack.c @@ -590,162 +590,6 @@ unpack_S8(const void *src, GLfloat dst[][4], GLuint n) } } -static void -unpack_RGBA_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLfloat *s = (const GLfloat *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = s[i*4+0]; - dst[i][GCOMP] = s[i*4+1]; - dst[i][BCOMP] = s[i*4+2]; - dst[i][ACOMP] = s[i*4+3]; - } -} - -static void -unpack_RGBA_FLOAT16(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLhalfARB *s = (const GLhalfARB *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = _mesa_half_to_float(s[i*4+0]); - dst[i][GCOMP] = _mesa_half_to_float(s[i*4+1]); - dst[i][BCOMP] = _mesa_half_to_float(s[i*4+2]); - dst[i][ACOMP] = _mesa_half_to_float(s[i*4+3]); - } -} - -static void -unpack_RGB_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLfloat *s = (const GLfloat *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = s[i*3+0]; - dst[i][GCOMP] = s[i*3+1]; - dst[i][BCOMP] = s[i*3+2]; - dst[i][ACOMP] = 1.0F; - } -} - -static void -unpack_RGB_FLOAT16(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLhalfARB *s = (const GLhalfARB *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = _mesa_half_to_float(s[i*3+0]); - dst[i][GCOMP] = _mesa_half_to_float(s[i*3+1]); - dst[i][BCOMP] = _mesa_half_to_float(s[i*3+2]); - dst[i][ACOMP] = 1.0F; - } -} - -static void -unpack_ALPHA_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLfloat *s = (const GLfloat *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = 0.0F; - dst[i][ACOMP] = s[i]; - } -} - -static void -unpack_ALPHA_FLOAT16(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLhalfARB *s = (const GLhalfARB *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = 0.0F; - dst[i][ACOMP] = _mesa_half_to_float(s[i]); - } -} - -static void -unpack_LUMINANCE_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLfloat *s = (const GLfloat *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = s[i]; - dst[i][ACOMP] = 1.0F; - } -} - -static void -unpack_LUMINANCE_FLOAT16(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLhalfARB *s = (const GLhalfARB *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = _mesa_half_to_float(s[i]); - dst[i][ACOMP] = 1.0F; - } -} - -static void -unpack_LUMINANCE_ALPHA_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLfloat *s = (const GLfloat *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = s[i*2+0]; - dst[i][ACOMP] = s[i*2+1]; - } -} - -static void -unpack_LUMINANCE_ALPHA_FLOAT16(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLhalfARB *s = (const GLhalfARB *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = _mesa_half_to_float(s[i*2+0]); - dst[i][ACOMP] = _mesa_half_to_float(s[i*2+1]); - } -} - -static void -unpack_INTENSITY_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLfloat *s = (const GLfloat *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = - dst[i][ACOMP] = s[i]; - } -} - -static void -unpack_INTENSITY_FLOAT16(const void *src, GLfloat dst[][4], GLuint n) -{ - const GLhalfARB *s = (const GLhalfARB *) src; - GLuint i; - for (i = 0; i < n; i++) { - dst[i][RCOMP] = - dst[i][GCOMP] = - dst[i][BCOMP] = - dst[i][ACOMP] = _mesa_half_to_float(s[i]); - } -} - static void unpack_RGBA_INT8(const void *src, GLfloat dst[][4], GLuint n) { @@ -900,19 +744,6 @@ get_unpack_rgba_function(gl_format format) table[MESA_FORMAT_Z32] = unpack_Z32; table[MESA_FORMAT_S8] = unpack_S8; - table[MESA_FORMAT_RGBA_FLOAT32] = unpack_RGBA_FLOAT32; - table[MESA_FORMAT_RGBA_FLOAT16] = unpack_RGBA_FLOAT16; - table[MESA_FORMAT_RGB_FLOAT32] = unpack_RGB_FLOAT32; - table[MESA_FORMAT_RGB_FLOAT16] = unpack_RGB_FLOAT16; - table[MESA_FORMAT_ALPHA_FLOAT32] = unpack_ALPHA_FLOAT32; - table[MESA_FORMAT_ALPHA_FLOAT16] = unpack_ALPHA_FLOAT16; - table[MESA_FORMAT_LUMINANCE_FLOAT32] = unpack_LUMINANCE_FLOAT32; - table[MESA_FORMAT_LUMINANCE_FLOAT16] = unpack_LUMINANCE_FLOAT16; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32] = unpack_LUMINANCE_ALPHA_FLOAT32; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16] = unpack_LUMINANCE_ALPHA_FLOAT16; - table[MESA_FORMAT_INTENSITY_FLOAT32] = unpack_INTENSITY_FLOAT32; - table[MESA_FORMAT_INTENSITY_FLOAT16] = unpack_INTENSITY_FLOAT16; - table[MESA_FORMAT_RGBA_INT8] = unpack_RGBA_INT8; table[MESA_FORMAT_RGBA_INT16] = unpack_RGBA_INT16; table[MESA_FORMAT_RGBA_INT32] = unpack_RGBA_INT32; diff --git a/reactos/dll/opengl/mesa/main/formats.c b/reactos/dll/opengl/mesa/main/formats.c index e1e636f4389..1d46fa3e18d 100644 --- a/reactos/dll/opengl/mesa/main/formats.c +++ b/reactos/dll/opengl/mesa/main/formats.c @@ -406,116 +406,7 @@ static struct gl_format_info format_info[MESA_FORMAT_COUNT] = 0, 0, 0, 0, 8, /* Lum/Int/Index/Depth/StencilBits */ 1, 1, 1 /* BlockWidth/Height,Bytes */ }, - { - MESA_FORMAT_RGBA_FLOAT32, - "MESA_FORMAT_RGBA_FLOAT32", - GL_RGBA, - GL_FLOAT, - 32, 32, 32, 32, - 0, 0, 0, 0, 0, - 1, 1, 16 - }, - { - MESA_FORMAT_RGBA_FLOAT16, - "MESA_FORMAT_RGBA_FLOAT16", - GL_RGBA, - GL_FLOAT, - 16, 16, 16, 16, - 0, 0, 0, 0, 0, - 1, 1, 8 - }, - { - MESA_FORMAT_RGB_FLOAT32, - "MESA_FORMAT_RGB_FLOAT32", - GL_RGB, - GL_FLOAT, - 32, 32, 32, 0, - 0, 0, 0, 0, 0, - 1, 1, 12 - }, - { - MESA_FORMAT_RGB_FLOAT16, - "MESA_FORMAT_RGB_FLOAT16", - GL_RGB, - GL_FLOAT, - 16, 16, 16, 0, - 0, 0, 0, 0, 0, - 1, 1, 6 - }, - { - MESA_FORMAT_ALPHA_FLOAT32, - "MESA_FORMAT_ALPHA_FLOAT32", - GL_ALPHA, - GL_FLOAT, - 0, 0, 0, 32, - 0, 0, 0, 0, 0, - 1, 1, 4 - }, - { - MESA_FORMAT_ALPHA_FLOAT16, - "MESA_FORMAT_ALPHA_FLOAT16", - GL_ALPHA, - GL_FLOAT, - 0, 0, 0, 16, - 0, 0, 0, 0, 0, - 1, 1, 2 - }, - { - MESA_FORMAT_LUMINANCE_FLOAT32, - "MESA_FORMAT_LUMINANCE_FLOAT32", - GL_LUMINANCE, - GL_FLOAT, - 0, 0, 0, 0, - 32, 0, 0, 0, 0, - 1, 1, 4 - }, - { - MESA_FORMAT_LUMINANCE_FLOAT16, - "MESA_FORMAT_LUMINANCE_FLOAT16", - GL_LUMINANCE, - GL_FLOAT, - 0, 0, 0, 0, - 16, 0, 0, 0, 0, - 1, 1, 2 - }, - { - MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32, - "MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32", - GL_LUMINANCE_ALPHA, - GL_FLOAT, - 0, 0, 0, 32, - 32, 0, 0, 0, 0, - 1, 1, 8 - }, - { - MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16, - "MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16", - GL_LUMINANCE_ALPHA, - GL_FLOAT, - 0, 0, 0, 16, - 16, 0, 0, 0, 0, - 1, 1, 4 - }, - { - MESA_FORMAT_INTENSITY_FLOAT32, - "MESA_FORMAT_INTENSITY_FLOAT32", - GL_INTENSITY, - GL_FLOAT, - 0, 0, 0, 0, - 0, 32, 0, 0, 0, - 1, 1, 4 - }, - { - MESA_FORMAT_INTENSITY_FLOAT16, - "MESA_FORMAT_INTENSITY_FLOAT16", - GL_INTENSITY, - GL_FLOAT, - 0, 0, 0, 0, - 0, 16, 0, 0, 0, - 1, 1, 2 - }, - /* unnormalized signed int formats */ /* unnormalized unsigned int formats */ { MESA_FORMAT_ALPHA_UINT8, @@ -1355,43 +1246,6 @@ _mesa_format_to_type_and_comps(gl_format format, *comps = 4; return; - case MESA_FORMAT_RGBA_FLOAT32: - *datatype = GL_FLOAT; - *comps = 4; - return; - case MESA_FORMAT_RGBA_FLOAT16: - *datatype = GL_HALF_FLOAT_ARB; - *comps = 4; - return; - case MESA_FORMAT_RGB_FLOAT32: - *datatype = GL_FLOAT; - *comps = 3; - return; - case MESA_FORMAT_RGB_FLOAT16: - *datatype = GL_HALF_FLOAT_ARB; - *comps = 3; - return; - case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32: - *datatype = GL_FLOAT; - *comps = 2; - return; - case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16: - *datatype = GL_HALF_FLOAT_ARB; - *comps = 2; - return; - case MESA_FORMAT_ALPHA_FLOAT32: - case MESA_FORMAT_LUMINANCE_FLOAT32: - case MESA_FORMAT_INTENSITY_FLOAT32: - *datatype = GL_FLOAT; - *comps = 1; - return; - case MESA_FORMAT_ALPHA_FLOAT16: - case MESA_FORMAT_LUMINANCE_FLOAT16: - case MESA_FORMAT_INTENSITY_FLOAT16: - *datatype = GL_HALF_FLOAT_ARB; - *comps = 1; - return; - case MESA_FORMAT_ALPHA_UINT8: case MESA_FORMAT_LUMINANCE_UINT8: case MESA_FORMAT_INTENSITY_UINT8: @@ -1654,36 +1508,6 @@ _mesa_format_matches_format_and_type(gl_format gl_format, case MESA_FORMAT_S8: return GL_FALSE; - case MESA_FORMAT_RGBA_FLOAT32: - return format == GL_RGBA && type == GL_FLOAT; - case MESA_FORMAT_RGBA_FLOAT16: - return format == GL_RGBA && type == GL_HALF_FLOAT; - - case MESA_FORMAT_RGB_FLOAT32: - return format == GL_RGB && type == GL_FLOAT; - case MESA_FORMAT_RGB_FLOAT16: - return format == GL_RGB && type == GL_HALF_FLOAT; - - case MESA_FORMAT_ALPHA_FLOAT32: - return format == GL_ALPHA && type == GL_FLOAT; - case MESA_FORMAT_ALPHA_FLOAT16: - return format == GL_ALPHA && type == GL_HALF_FLOAT; - - case MESA_FORMAT_LUMINANCE_FLOAT32: - return format == GL_LUMINANCE && type == GL_FLOAT; - case MESA_FORMAT_LUMINANCE_FLOAT16: - return format == GL_LUMINANCE && type == GL_HALF_FLOAT; - - case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32: - return format == GL_LUMINANCE_ALPHA && type == GL_FLOAT; - case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16: - return format == GL_LUMINANCE_ALPHA && type == GL_HALF_FLOAT; - - case MESA_FORMAT_INTENSITY_FLOAT32: - return format == GL_INTENSITY && type == GL_FLOAT; - case MESA_FORMAT_INTENSITY_FLOAT16: - return format == GL_INTENSITY && type == GL_HALF_FLOAT; - /* FINISHME: What do we want to do for GL_EXT_texture_integer? */ case MESA_FORMAT_ALPHA_UINT8: case MESA_FORMAT_ALPHA_UINT16: diff --git a/reactos/dll/opengl/mesa/main/formats.h b/reactos/dll/opengl/mesa/main/formats.h index 2ff4af1fa59..5a93a5c5a8e 100644 --- a/reactos/dll/opengl/mesa/main/formats.h +++ b/reactos/dll/opengl/mesa/main/formats.h @@ -105,24 +105,6 @@ typedef enum MESA_FORMAT_S8, /* SSSS SSSS */ /*@}*/ - /** - * \name Floating point texture formats. - */ - /*@{*/ - MESA_FORMAT_RGBA_FLOAT32, - MESA_FORMAT_RGBA_FLOAT16, - MESA_FORMAT_RGB_FLOAT32, - MESA_FORMAT_RGB_FLOAT16, - MESA_FORMAT_ALPHA_FLOAT32, - MESA_FORMAT_ALPHA_FLOAT16, - MESA_FORMAT_LUMINANCE_FLOAT32, - MESA_FORMAT_LUMINANCE_FLOAT16, - MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32, - MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16, - MESA_FORMAT_INTENSITY_FLOAT32, - MESA_FORMAT_INTENSITY_FLOAT16, - /*@}*/ - /** * \name Non-normalized signed integer formats. * XXX Note: these are just stand-ins for some better hardware diff --git a/reactos/dll/opengl/mesa/main/image.c b/reactos/dll/opengl/mesa/main/image.c index 676ebf7ff8c..820323b4dd3 100644 --- a/reactos/dll/opengl/mesa/main/image.c +++ b/reactos/dll/opengl/mesa/main/image.c @@ -125,8 +125,6 @@ _mesa_sizeof_type( GLenum type ) return sizeof(GLfloat); case GL_DOUBLE: return sizeof(GLdouble); - case GL_HALF_FLOAT_ARB: - return sizeof(GLhalfARB); case GL_FIXED: return sizeof(GLfixed); default: @@ -157,8 +155,6 @@ _mesa_sizeof_packed_type( GLenum type ) return sizeof(GLuint); case GL_INT: return sizeof(GLint); - case GL_HALF_FLOAT_ARB: - return sizeof(GLhalfARB); case GL_FLOAT: return sizeof(GLfloat); case GL_UNSIGNED_BYTE_3_3_2: @@ -267,8 +263,6 @@ _mesa_bytes_per_pixel( GLenum format, GLenum type ) return comps * sizeof(GLint); case GL_FLOAT: return comps * sizeof(GLfloat); - case GL_HALF_FLOAT_ARB: - return comps * sizeof(GLhalfARB); case GL_UNSIGNED_BYTE_3_3_2: case GL_UNSIGNED_BYTE_2_3_3_REV: if (format == GL_RGB || format == GL_BGR || @@ -384,9 +378,6 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, case GL_UNSIGNED_INT: case GL_FLOAT: return GL_NO_ERROR; - case GL_HALF_FLOAT: - return ctx->Extensions.ARB_half_float_pixel - ? GL_NO_ERROR : GL_INVALID_ENUM; default: return GL_INVALID_ENUM; } @@ -410,9 +401,6 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, case GL_UNSIGNED_INT: case GL_FLOAT: return GL_NO_ERROR; - case GL_HALF_FLOAT: - return ctx->Extensions.ARB_half_float_pixel - ? GL_NO_ERROR : GL_INVALID_ENUM; default: return GL_INVALID_ENUM; } @@ -431,9 +419,6 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, case GL_UNSIGNED_SHORT_5_6_5: case GL_UNSIGNED_SHORT_5_6_5_REV: return GL_NO_ERROR; - case GL_HALF_FLOAT: - return ctx->Extensions.ARB_half_float_pixel - ? GL_NO_ERROR : GL_INVALID_ENUM; default: return GL_INVALID_ENUM; } @@ -451,9 +436,6 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, case GL_UNSIGNED_INT: case GL_FLOAT: return GL_NO_ERROR; - case GL_HALF_FLOAT: - return ctx->Extensions.ARB_half_float_pixel - ? GL_NO_ERROR : GL_INVALID_ENUM; default: return GL_INVALID_ENUM; } @@ -476,9 +458,6 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, case GL_UNSIGNED_INT_8_8_8_8: case GL_UNSIGNED_INT_8_8_8_8_REV: return GL_NO_ERROR; - case GL_HALF_FLOAT: - return ctx->Extensions.ARB_half_float_pixel - ? GL_NO_ERROR : GL_INVALID_ENUM; default: return GL_INVALID_ENUM; } diff --git a/reactos/dll/opengl/mesa/main/imports.c b/reactos/dll/opengl/mesa/main/imports.c index 9652e39d07d..e9d9209f2a1 100644 --- a/reactos/dll/opengl/mesa/main/imports.c +++ b/reactos/dll/opengl/mesa/main/imports.c @@ -537,146 +537,6 @@ _mesa_bitcount_64(uint64_t n) } #endif - -/** - * Convert a 4-byte float to a 2-byte half float. - * Based on code from: - * http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/008786.html - */ -GLhalfARB -_mesa_float_to_half(float val) -{ - const fi_type fi = {val}; - const int flt_m = fi.i & 0x7fffff; - const int flt_e = (fi.i >> 23) & 0xff; - const int flt_s = (fi.i >> 31) & 0x1; - int s, e, m = 0; - GLhalfARB result; - - /* sign bit */ - s = flt_s; - - /* handle special cases */ - if ((flt_e == 0) && (flt_m == 0)) { - /* zero */ - /* m = 0; - already set */ - e = 0; - } - else if ((flt_e == 0) && (flt_m != 0)) { - /* denorm -- denorm float maps to 0 half */ - /* m = 0; - already set */ - e = 0; - } - else if ((flt_e == 0xff) && (flt_m == 0)) { - /* infinity */ - /* m = 0; - already set */ - e = 31; - } - else if ((flt_e == 0xff) && (flt_m != 0)) { - /* NaN */ - m = 1; - e = 31; - } - else { - /* regular number */ - const int new_exp = flt_e - 127; - if (new_exp < -24) { - /* this maps to 0 */ - /* m = 0; - already set */ - e = 0; - } - else if (new_exp < -14) { - /* this maps to a denorm */ - unsigned int exp_val = (unsigned int) (-14 - new_exp); /* 2^-exp_val*/ - e = 0; - switch (exp_val) { - case 0: - _mesa_warning(NULL, - "float_to_half: logical error in denorm creation!\n"); - /* m = 0; - already set */ - break; - case 1: m = 512 + (flt_m >> 14); break; - case 2: m = 256 + (flt_m >> 15); break; - case 3: m = 128 + (flt_m >> 16); break; - case 4: m = 64 + (flt_m >> 17); break; - case 5: m = 32 + (flt_m >> 18); break; - case 6: m = 16 + (flt_m >> 19); break; - case 7: m = 8 + (flt_m >> 20); break; - case 8: m = 4 + (flt_m >> 21); break; - case 9: m = 2 + (flt_m >> 22); break; - case 10: m = 1; break; - } - } - else if (new_exp > 15) { - /* map this value to infinity */ - /* m = 0; - already set */ - e = 31; - } - else { - /* regular */ - e = new_exp + 15; - m = flt_m >> 13; - } - } - - result = (s << 15) | (e << 10) | m; - return result; -} - - -/** - * Convert a 2-byte half float to a 4-byte float. - * Based on code from: - * http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/008786.html - */ -float -_mesa_half_to_float(GLhalfARB val) -{ - /* XXX could also use a 64K-entry lookup table */ - const int m = val & 0x3ff; - const int e = (val >> 10) & 0x1f; - const int s = (val >> 15) & 0x1; - int flt_m, flt_e, flt_s; - fi_type fi; - float result; - - /* sign bit */ - flt_s = s; - - /* handle special cases */ - if ((e == 0) && (m == 0)) { - /* zero */ - flt_m = 0; - flt_e = 0; - } - else if ((e == 0) && (m != 0)) { - /* denorm -- denorm half will fit in non-denorm single */ - const float half_denorm = 1.0f / 16384.0f; /* 2^-14 */ - float mantissa = ((float) (m)) / 1024.0f; - float sign = s ? -1.0f : 1.0f; - return sign * mantissa * half_denorm; - } - else if ((e == 31) && (m == 0)) { - /* infinity */ - flt_e = 0xff; - flt_m = 0; - } - else if ((e == 31) && (m != 0)) { - /* NaN */ - flt_e = 0xff; - flt_m = 1; - } - else { - /* regular */ - flt_e = e + 112; - flt_m = m << 13; - } - - fi.i = (flt_s << 31) | (flt_e << 23) | flt_m; - result = fi.f; - return result; -} - /*@}*/ diff --git a/reactos/dll/opengl/mesa/main/imports.h b/reactos/dll/opengl/mesa/main/imports.h index b7e87439f4c..d2ba34db888 100644 --- a/reactos/dll/opengl/mesa/main/imports.h +++ b/reactos/dll/opengl/mesa/main/imports.h @@ -597,12 +597,6 @@ extern unsigned int _mesa_bitcount(unsigned int n); #endif -extern GLhalfARB -_mesa_float_to_half(float f); - -extern float -_mesa_half_to_float(GLhalfARB h); - extern void * _mesa_bsearch( const void *key, const void *base, size_t nmemb, size_t size, diff --git a/reactos/dll/opengl/mesa/main/mtypes.h b/reactos/dll/opengl/mesa/main/mtypes.h index 7cc01fef843..2dc4ce80524 100644 --- a/reactos/dll/opengl/mesa/main/mtypes.h +++ b/reactos/dll/opengl/mesa/main/mtypes.h @@ -1577,15 +1577,12 @@ struct gl_extensions GLboolean dummy; /* don't remove this! */ GLboolean dummy_true; /* Set true by _mesa_init_extensions(). */ GLboolean dummy_false; /* Set false by _mesa_init_extensions(). */ - GLboolean ARB_half_float_pixel; - GLboolean ARB_half_float_vertex; GLboolean ARB_map_buffer_range; GLboolean ARB_point_sprite; GLboolean ARB_texture_cube_map; GLboolean ARB_texture_env_combine; GLboolean ARB_texture_env_crossbar; GLboolean ARB_texture_env_dot3; - GLboolean ARB_texture_float; GLboolean ARB_texture_non_power_of_two; GLboolean ARB_texture_storage; GLboolean ARB_transpose_matrix; diff --git a/reactos/dll/opengl/mesa/main/pack.c b/reactos/dll/opengl/mesa/main/pack.c index 5a8f3a4c942..6217e2f3d8c 100644 --- a/reactos/dll/opengl/mesa/main/pack.c +++ b/reactos/dll/opengl/mesa/main/pack.c @@ -1568,85 +1568,6 @@ _mesa_pack_rgba_span_float(struct gl_context *ctx, GLuint n, GLfloat rgba[][4], } } break; - case GL_HALF_FLOAT_ARB: - { - GLhalfARB *dst = (GLhalfARB *) dstAddr; - switch (dstFormat) { - case GL_RED: - for (i=0;iSwapBytes) { - for (i = 0; i < n; i++) { - GLhalfARB value = s[i]; - SWAP2BYTE(value); - indexes[i] = (GLuint) _mesa_half_to_float(value); - } - } - else { - for (i = 0; i < n; i++) - indexes[i] = (GLuint) _mesa_half_to_float(s[i]); - } - } - break; default: _mesa_problem(NULL, "bad srcType in extract_uint_indexes"); @@ -2378,12 +2282,6 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], PROCESS(bSrc, BCOMP, 0.0F, 0.0F, GLfloat, (GLfloat)); PROCESS(aSrc, ACOMP, 1.0F, 1.0F, GLfloat, (GLfloat)); break; - case GL_HALF_FLOAT_ARB: - PROCESS(rSrc, RCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); - PROCESS(gSrc, GCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); - PROCESS(bSrc, BCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); - PROCESS(aSrc, ACOMP, 1.0F, 1.0F, GLhalfARB, _mesa_half_to_float); - break; case GL_UNSIGNED_BYTE_3_3_2: { const GLubyte *ubsrc = (const GLubyte *) src; @@ -2698,15 +2596,6 @@ clamp_float_to_uint(GLfloat f) return f < 0.0F ? 0 : IROUND(f); } - -static inline GLuint -clamp_half_to_uint(GLhalfARB h) -{ - GLfloat f = _mesa_half_to_float(h); - return f < 0.0F ? 0 : IROUND(f); -} - - /** * \sa extract_float_rgba() */ @@ -2845,12 +2734,6 @@ extract_uint_rgba(GLuint n, GLuint rgba[][4], PROCESS(bSrc, BCOMP, 0, GLfloat, clamp_float_to_uint); PROCESS(aSrc, ACOMP, 1, GLfloat, clamp_float_to_uint); break; - case GL_HALF_FLOAT_ARB: - PROCESS(rSrc, RCOMP, 0, GLhalfARB, clamp_half_to_uint); - PROCESS(gSrc, GCOMP, 0, GLhalfARB, clamp_half_to_uint); - PROCESS(bSrc, BCOMP, 0, GLhalfARB, clamp_half_to_uint); - PROCESS(aSrc, ACOMP, 1, GLhalfARB, clamp_half_to_uint); - break; case GL_UNSIGNED_BYTE_3_3_2: { const GLubyte *ubsrc = (const GLubyte *) src; @@ -3891,18 +3774,6 @@ _mesa_pack_index_span( struct gl_context *ctx, GLuint n, } } break; - case GL_HALF_FLOAT_ARB: - { - GLhalfARB *dst = (GLhalfARB *) dest; - GLuint i; - for (i = 0; i < n; i++) { - dst[i] = _mesa_float_to_half((GLfloat) source[i]); - } - if (dstPacking->SwapBytes) { - _mesa_swap2( (GLushort *) dst, n ); - } - } - break; default: _mesa_problem(ctx, "bad type in _mesa_pack_index_span"); } @@ -4118,18 +3989,6 @@ _mesa_pack_stencil_span( struct gl_context *ctx, GLuint n, } } break; - case GL_HALF_FLOAT_ARB: - { - GLhalfARB *dst = (GLhalfARB *) dest; - GLuint i; - for (i=0;iSwapBytes) { - _mesa_swap2( (GLushort *) dst, n ); - } - } - break; case GL_BITMAP: if (dstPacking->LsbFirst) { GLubyte *dst = (GLubyte *) dest; @@ -4279,20 +4138,6 @@ _mesa_unpack_depth_span( struct gl_context *ctx, GLuint n, DEPTH_VALUES(GLfloat, 1*); needClamp = GL_TRUE; break; - case GL_HALF_FLOAT_ARB: - { - GLuint i; - const GLhalfARB *src = (const GLhalfARB *) source; - for (i = 0; i < n; i++) { - GLhalfARB value = src[i]; - if (srcPacking->SwapBytes) { - SWAP2BYTE(value); - } - depthValues[i] = _mesa_half_to_float(value); - } - needClamp = GL_TRUE; - } - break; default: _mesa_problem(NULL, "bad type in _mesa_unpack_depth_span()"); free(depthTemp); @@ -4461,18 +4306,6 @@ _mesa_pack_depth_span( struct gl_context *ctx, GLuint n, GLvoid *dest, } } break; - case GL_HALF_FLOAT_ARB: - { - GLhalfARB *dst = (GLhalfARB *) dest; - GLuint i; - for (i = 0; i < n; i++) { - dst[i] = _mesa_float_to_half(depthSpan[i]); - } - if (dstPacking->SwapBytes) { - _mesa_swap2( (GLushort *) dst, n ); - } - } - break; default: _mesa_problem(ctx, "bad type in _mesa_pack_depth_span"); } diff --git a/reactos/dll/opengl/mesa/main/texformat.c b/reactos/dll/opengl/mesa/main/texformat.c index 971ec030fd3..052dfc1691f 100644 --- a/reactos/dll/opengl/mesa/main/texformat.c +++ b/reactos/dll/opengl/mesa/main/texformat.c @@ -206,81 +206,6 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat, } } - if (ctx->Extensions.ARB_texture_float) { - switch (internalFormat) { - case GL_ALPHA16F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_ALPHA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_ALPHA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - break; - case GL_ALPHA32F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_ALPHA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_ALPHA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - break; - case GL_LUMINANCE16F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - break; - case GL_LUMINANCE32F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - break; - case GL_LUMINANCE_ALPHA16F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - break; - case GL_LUMINANCE_ALPHA32F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - break; - case GL_INTENSITY16F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_INTENSITY_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_INTENSITY_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - break; - case GL_INTENSITY32F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_INTENSITY_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_INTENSITY_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - break; - case GL_RGB16F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - break; - case GL_RGB32F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - break; - case GL_RGBA16F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - break; - case GL_RGBA32F_ARB: - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16); - break; - default: - ; /* fallthrough */ - } - } - if (ctx->Extensions.EXT_texture_integer) { switch (internalFormat) { case GL_ALPHA8UI_EXT: diff --git a/reactos/dll/opengl/mesa/main/texgetimage.c b/reactos/dll/opengl/mesa/main/texgetimage.c index 450b7984c1e..29590ce5348 100644 --- a/reactos/dll/opengl/mesa/main/texgetimage.c +++ b/reactos/dll/opengl/mesa/main/texgetimage.c @@ -40,7 +40,6 @@ type_needs_clamping(GLenum type) case GL_SHORT: case GL_INT: case GL_FLOAT: - case GL_HALF_FLOAT_ARB: case GL_UNSIGNED_INT_10F_11F_11F_REV: case GL_UNSIGNED_INT_5_9_9_9_REV: return GL_FALSE; diff --git a/reactos/dll/opengl/mesa/main/teximage.c b/reactos/dll/opengl/mesa/main/teximage.c index ccf9d8111bb..cd7b1c96ab1 100644 --- a/reactos/dll/opengl/mesa/main/teximage.c +++ b/reactos/dll/opengl/mesa/main/teximage.c @@ -115,31 +115,6 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat ) return GL_YCBCR_MESA; } - if (ctx->Extensions.ARB_texture_float) { - switch (internalFormat) { - case GL_ALPHA16F_ARB: - case GL_ALPHA32F_ARB: - return GL_ALPHA; - case GL_RGBA16F_ARB: - case GL_RGBA32F_ARB: - return GL_RGBA; - case GL_RGB16F_ARB: - case GL_RGB32F_ARB: - return GL_RGB; - case GL_INTENSITY16F_ARB: - case GL_INTENSITY32F_ARB: - return GL_INTENSITY; - case GL_LUMINANCE16F_ARB: - case GL_LUMINANCE32F_ARB: - return GL_LUMINANCE; - case GL_LUMINANCE_ALPHA16F_ARB: - case GL_LUMINANCE_ALPHA32F_ARB: - return GL_LUMINANCE_ALPHA; - default: - ; /* fallthrough */ - } - } - if (ctx->VersionMajor >= 3 || ctx->Extensions.EXT_texture_integer) { switch (internalFormat) { diff --git a/reactos/dll/opengl/mesa/main/texparam.c b/reactos/dll/opengl/mesa/main/texparam.c index 539bc189d57..13cf0b793b3 100644 --- a/reactos/dll/opengl/mesa/main/texparam.c +++ b/reactos/dll/opengl/mesa/main/texparam.c @@ -247,18 +247,10 @@ set_tex_parameterf(struct gl_context *ctx, case GL_TEXTURE_BORDER_COLOR: flush(ctx); - /* ARB_texture_float disables clamping */ - if (ctx->Extensions.ARB_texture_float) { - texObj->Sampler.BorderColor.f[RCOMP] = params[0]; - texObj->Sampler.BorderColor.f[GCOMP] = params[1]; - texObj->Sampler.BorderColor.f[BCOMP] = params[2]; - texObj->Sampler.BorderColor.f[ACOMP] = params[3]; - } else { - texObj->Sampler.BorderColor.f[RCOMP] = CLAMP(params[0], 0.0F, 1.0F); - texObj->Sampler.BorderColor.f[GCOMP] = CLAMP(params[1], 0.0F, 1.0F); - texObj->Sampler.BorderColor.f[BCOMP] = CLAMP(params[2], 0.0F, 1.0F); - texObj->Sampler.BorderColor.f[ACOMP] = CLAMP(params[3], 0.0F, 1.0F); - } + texObj->Sampler.BorderColor.f[RCOMP] = CLAMP(params[0], 0.0F, 1.0F); + texObj->Sampler.BorderColor.f[GCOMP] = CLAMP(params[1], 0.0F, 1.0F); + texObj->Sampler.BorderColor.f[BCOMP] = CLAMP(params[2], 0.0F, 1.0F); + texObj->Sampler.BorderColor.f[ACOMP] = CLAMP(params[3], 0.0F, 1.0F); return GL_TRUE; default: @@ -634,22 +626,6 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, } break; - /* GL_ARB_texture_float */ - case GL_TEXTURE_RED_TYPE_ARB: - case GL_TEXTURE_GREEN_TYPE_ARB: - case GL_TEXTURE_BLUE_TYPE_ARB: - case GL_TEXTURE_ALPHA_TYPE_ARB: - case GL_TEXTURE_LUMINANCE_TYPE_ARB: - case GL_TEXTURE_INTENSITY_TYPE_ARB: - case GL_TEXTURE_DEPTH_TYPE_ARB: - if (!ctx->Extensions.ARB_texture_float) - goto invalid_pname; - if (_mesa_base_format_has_channel(img->_BaseFormat, pname)) - *params = _mesa_get_format_datatype(texFormat); - else - *params = GL_NONE; - break; - default: goto invalid_pname; } diff --git a/reactos/dll/opengl/mesa/main/texstore.c b/reactos/dll/opengl/mesa/main/texstore.c index 397c69775d5..43b5b45ef18 100644 --- a/reactos/dll/opengl/mesa/main/texstore.c +++ b/reactos/dll/opengl/mesa/main/texstore.c @@ -2563,153 +2563,6 @@ _mesa_texstore_s8(TEXSTORE_PARAMS) } -/** - * Store an image in any of the formats: - * _mesa_texformat_rgba_float32 - * _mesa_texformat_rgb_float32 - * _mesa_texformat_alpha_float32 - * _mesa_texformat_luminance_float32 - * _mesa_texformat_luminance_alpha_float32 - * _mesa_texformat_intensity_float32 - */ -static GLboolean -_mesa_texstore_rgba_float32(TEXSTORE_PARAMS) -{ - const GLenum baseFormat = _mesa_get_format_base_format(dstFormat); - const GLint components = _mesa_components_in_format(baseFormat); - - ASSERT(dstFormat == MESA_FORMAT_RGBA_FLOAT32 || - dstFormat == MESA_FORMAT_RGB_FLOAT32 || - dstFormat == MESA_FORMAT_ALPHA_FLOAT32 || - dstFormat == MESA_FORMAT_LUMINANCE_FLOAT32 || - dstFormat == MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32 || - dstFormat == MESA_FORMAT_INTENSITY_FLOAT32 || - dstFormat == MESA_FORMAT_R_FLOAT32 || - dstFormat == MESA_FORMAT_RG_FLOAT32); - ASSERT(baseInternalFormat == GL_RGBA || - baseInternalFormat == GL_RGB || - baseInternalFormat == GL_ALPHA || - baseInternalFormat == GL_LUMINANCE || - baseInternalFormat == GL_LUMINANCE_ALPHA || - baseInternalFormat == GL_INTENSITY || - baseInternalFormat == GL_RED || - baseInternalFormat == GL_RG); - ASSERT(_mesa_get_format_bytes(dstFormat) == components * sizeof(GLfloat)); - - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && - baseInternalFormat == srcFormat && - baseInternalFormat == baseFormat && - srcType == GL_FLOAT) { - /* simple memcpy path */ - memcpy_texture(ctx, dims, - dstFormat, - dstRowStride, dstSlices, - srcWidth, srcHeight, srcDepth, srcFormat, srcType, - srcAddr, srcPacking); - } - else { - /* general path */ - const GLfloat *tempImage = _mesa_make_temp_float_image(ctx, dims, - baseInternalFormat, - baseFormat, - srcWidth, srcHeight, srcDepth, - srcFormat, srcType, srcAddr, - srcPacking, - ctx->_ImageTransferState); - const GLfloat *srcRow = tempImage; - GLint bytesPerRow; - GLint img, row; - if (!tempImage) - return GL_FALSE; - bytesPerRow = srcWidth * components * sizeof(GLfloat); - for (img = 0; img < srcDepth; img++) { - GLubyte *dstRow = dstSlices[img]; - for (row = 0; row < srcHeight; row++) { - memcpy(dstRow, srcRow, bytesPerRow); - dstRow += dstRowStride; - srcRow += srcWidth * components; - } - } - - free((void *) tempImage); - } - return GL_TRUE; -} - - - -/** - * As above, but store 16-bit floats. - */ -static GLboolean -_mesa_texstore_rgba_float16(TEXSTORE_PARAMS) -{ - const GLenum baseFormat = _mesa_get_format_base_format(dstFormat); - const GLint components = _mesa_components_in_format(baseFormat); - - ASSERT(dstFormat == MESA_FORMAT_RGBA_FLOAT16 || - dstFormat == MESA_FORMAT_RGB_FLOAT16 || - dstFormat == MESA_FORMAT_ALPHA_FLOAT16 || - dstFormat == MESA_FORMAT_LUMINANCE_FLOAT16 || - dstFormat == MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16 || - dstFormat == MESA_FORMAT_INTENSITY_FLOAT16 || - dstFormat == MESA_FORMAT_R_FLOAT16 || - dstFormat == MESA_FORMAT_RG_FLOAT16); - ASSERT(baseInternalFormat == GL_RGBA || - baseInternalFormat == GL_RGB || - baseInternalFormat == GL_ALPHA || - baseInternalFormat == GL_LUMINANCE || - baseInternalFormat == GL_LUMINANCE_ALPHA || - baseInternalFormat == GL_INTENSITY || - baseInternalFormat == GL_RED || - baseInternalFormat == GL_RG); - ASSERT(_mesa_get_format_bytes(dstFormat) == components * sizeof(GLhalfARB)); - - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && - baseInternalFormat == srcFormat && - baseInternalFormat == baseFormat && - srcType == GL_HALF_FLOAT_ARB) { - /* simple memcpy path */ - memcpy_texture(ctx, dims, - dstFormat, - dstRowStride, dstSlices, - srcWidth, srcHeight, srcDepth, srcFormat, srcType, - srcAddr, srcPacking); - } - else { - /* general path */ - const GLfloat *tempImage = _mesa_make_temp_float_image(ctx, dims, - baseInternalFormat, - baseFormat, - srcWidth, srcHeight, srcDepth, - srcFormat, srcType, srcAddr, - srcPacking, - ctx->_ImageTransferState); - const GLfloat *src = tempImage; - GLint img, row; - if (!tempImage) - return GL_FALSE; - for (img = 0; img < srcDepth; img++) { - GLubyte *dstRow = dstSlices[img]; - for (row = 0; row < srcHeight; row++) { - GLhalfARB *dstTexel = (GLhalfARB *) dstRow; - GLint i; - for (i = 0; i < srcWidth * components; i++) { - dstTexel[i] = _mesa_float_to_half(src[i]); - } - dstRow += dstRowStride; - src += srcWidth * components; - } - } - - free((void *) tempImage); - } - return GL_TRUE; -} - - /* non-normalized, signed int8 */ static GLboolean _mesa_texstore_rgba_int8(TEXSTORE_PARAMS) @@ -3186,18 +3039,6 @@ _mesa_get_texstore_func(gl_format format) table[MESA_FORMAT_Z24_X8] = _mesa_texstore_z24_x8; table[MESA_FORMAT_Z32] = _mesa_texstore_z32; table[MESA_FORMAT_S8] = _mesa_texstore_s8; - table[MESA_FORMAT_RGBA_FLOAT32] = _mesa_texstore_rgba_float32; - table[MESA_FORMAT_RGBA_FLOAT16] = _mesa_texstore_rgba_float16; - table[MESA_FORMAT_RGB_FLOAT32] = _mesa_texstore_rgba_float32; - table[MESA_FORMAT_RGB_FLOAT16] = _mesa_texstore_rgba_float16; - table[MESA_FORMAT_ALPHA_FLOAT32] = _mesa_texstore_rgba_float32; - table[MESA_FORMAT_ALPHA_FLOAT16] = _mesa_texstore_rgba_float16; - table[MESA_FORMAT_LUMINANCE_FLOAT32] = _mesa_texstore_rgba_float32; - table[MESA_FORMAT_LUMINANCE_FLOAT16] = _mesa_texstore_rgba_float16; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32] = _mesa_texstore_rgba_float32; - table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16] = _mesa_texstore_rgba_float16; - table[MESA_FORMAT_INTENSITY_FLOAT32] = _mesa_texstore_rgba_float32; - table[MESA_FORMAT_INTENSITY_FLOAT16] = _mesa_texstore_rgba_float16; table[MESA_FORMAT_SIGNED_RGBA_16] = _mesa_texstore_signed_rgba_16; table[MESA_FORMAT_RGBA_16] = _mesa_texstore_rgba_16; diff --git a/reactos/dll/opengl/mesa/main/varray.c b/reactos/dll/opengl/mesa/main/varray.c index a8b2b395c17..71b3eab96ba 100644 --- a/reactos/dll/opengl/mesa/main/varray.c +++ b/reactos/dll/opengl/mesa/main/varray.c @@ -59,11 +59,6 @@ type_to_bit(const struct gl_context *ctx, GLenum type) return INT_BIT; case GL_UNSIGNED_INT: return UNSIGNED_INT_BIT; - case GL_HALF_FLOAT: - if (ctx->Extensions.ARB_half_float_vertex) - return HALF_BIT; - else - return 0x0; case GL_FLOAT: return FLOAT_BIT; case GL_DOUBLE: diff --git a/reactos/dll/opengl/mesa/main/version.c b/reactos/dll/opengl/mesa/main/version.c index 55d3769c94c..7520274ba7d 100644 --- a/reactos/dll/opengl/mesa/main/version.c +++ b/reactos/dll/opengl/mesa/main/version.c @@ -79,10 +79,7 @@ compute_version(struct gl_context *ctx) ctx->Extensions.EXT_blend_equation_separate); const GLboolean ver_2_1 = (ver_2_0); const GLboolean ver_3_0 = (ver_2_1 && - ctx->Extensions.ARB_half_float_pixel && - ctx->Extensions.ARB_half_float_vertex && ctx->Extensions.ARB_map_buffer_range && - ctx->Extensions.ARB_texture_float && ctx->Extensions.APPLE_vertex_array_object); diff --git a/reactos/dll/opengl/mesa/swrast/s_texfetch.c b/reactos/dll/opengl/mesa/swrast/s_texfetch.c index d3207425d53..e8025fa869d 100644 --- a/reactos/dll/opengl/mesa/swrast/s_texfetch.c +++ b/reactos/dll/opengl/mesa/swrast/s_texfetch.c @@ -325,79 +325,6 @@ texfetch_funcs[MESA_FORMAT_COUNT] = NULL, NULL }, - { - MESA_FORMAT_RGBA_FLOAT32, - fetch_texel_1d_f_rgba_f32, - fetch_texel_2d_f_rgba_f32, - fetch_texel_3d_f_rgba_f32 - }, - { - MESA_FORMAT_RGBA_FLOAT16, - fetch_texel_1d_f_rgba_f16, - fetch_texel_2d_f_rgba_f16, - fetch_texel_3d_f_rgba_f16 - }, - { - MESA_FORMAT_RGB_FLOAT32, - fetch_texel_1d_f_rgb_f32, - fetch_texel_2d_f_rgb_f32, - fetch_texel_3d_f_rgb_f32 - }, - { - MESA_FORMAT_RGB_FLOAT16, - fetch_texel_1d_f_rgb_f16, - fetch_texel_2d_f_rgb_f16, - fetch_texel_3d_f_rgb_f16 - }, - { - MESA_FORMAT_ALPHA_FLOAT32, - fetch_texel_1d_f_alpha_f32, - fetch_texel_2d_f_alpha_f32, - fetch_texel_3d_f_alpha_f32 - }, - { - MESA_FORMAT_ALPHA_FLOAT16, - fetch_texel_1d_f_alpha_f16, - fetch_texel_2d_f_alpha_f16, - fetch_texel_3d_f_alpha_f16 - }, - { - MESA_FORMAT_LUMINANCE_FLOAT32, - fetch_texel_1d_f_luminance_f32, - fetch_texel_2d_f_luminance_f32, - fetch_texel_3d_f_luminance_f32 - }, - { - MESA_FORMAT_LUMINANCE_FLOAT16, - fetch_texel_1d_f_luminance_f16, - fetch_texel_2d_f_luminance_f16, - fetch_texel_3d_f_luminance_f16 - }, - { - MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32, - fetch_texel_1d_f_luminance_alpha_f32, - fetch_texel_2d_f_luminance_alpha_f32, - fetch_texel_3d_f_luminance_alpha_f32 - }, - { - MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16, - fetch_texel_1d_f_luminance_alpha_f16, - fetch_texel_2d_f_luminance_alpha_f16, - fetch_texel_3d_f_luminance_alpha_f16 - }, - { - MESA_FORMAT_INTENSITY_FLOAT32, - fetch_texel_1d_f_intensity_f32, - fetch_texel_2d_f_intensity_f32, - fetch_texel_3d_f_intensity_f32 - }, - { - MESA_FORMAT_INTENSITY_FLOAT16, - fetch_texel_1d_f_intensity_f16, - fetch_texel_2d_f_intensity_f16, - fetch_texel_3d_f_intensity_f16 - }, - { MESA_FORMAT_ALPHA_UINT8, NULL, diff --git a/reactos/dll/opengl/mesa/swrast/s_texfetch_tmp.h b/reactos/dll/opengl/mesa/swrast/s_texfetch_tmp.h index da996b8a100..88ebec98c9e 100644 --- a/reactos/dll/opengl/mesa/swrast/s_texfetch_tmp.h +++ b/reactos/dll/opengl/mesa/swrast/s_texfetch_tmp.h @@ -97,219 +97,6 @@ static void FETCH(f_z16)(const struct swrast_texture_image *texImage, -/* MESA_FORMAT_RGBA_F32 ******************************************************/ - -/* Fetch texel from 1D, 2D or 3D RGBA_FLOAT32 texture, returning 4 GLfloats. - */ -static void FETCH(f_rgba_f32)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLfloat *src = TEXEL_ADDR(GLfloat, texImage, i, j, k, 4); - texel[RCOMP] = src[0]; - texel[GCOMP] = src[1]; - texel[BCOMP] = src[2]; - texel[ACOMP] = src[3]; -} - - - - -/* MESA_FORMAT_RGBA_F16 ******************************************************/ - -/* Fetch texel from 1D, 2D or 3D RGBA_FLOAT16 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_rgba_f16)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLhalfARB *src = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 4); - texel[RCOMP] = _mesa_half_to_float(src[0]); - texel[GCOMP] = _mesa_half_to_float(src[1]); - texel[BCOMP] = _mesa_half_to_float(src[2]); - texel[ACOMP] = _mesa_half_to_float(src[3]); -} - - - -/* MESA_FORMAT_RGB_F32 *******************************************************/ - -/* Fetch texel from 1D, 2D or 3D RGB_FLOAT32 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_rgb_f32)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLfloat *src = TEXEL_ADDR(GLfloat, texImage, i, j, k, 3); - texel[RCOMP] = src[0]; - texel[GCOMP] = src[1]; - texel[BCOMP] = src[2]; - texel[ACOMP] = 1.0F; -} - - - - -/* MESA_FORMAT_RGB_F16 *******************************************************/ - -/* Fetch texel from 1D, 2D or 3D RGB_FLOAT16 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_rgb_f16)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLhalfARB *src = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 3); - texel[RCOMP] = _mesa_half_to_float(src[0]); - texel[GCOMP] = _mesa_half_to_float(src[1]); - texel[BCOMP] = _mesa_half_to_float(src[2]); - texel[ACOMP] = 1.0F; -} - - - - -/* MESA_FORMAT_ALPHA_F32 *****************************************************/ - -/* Fetch texel from 1D, 2D or 3D ALPHA_FLOAT32 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_alpha_f32)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLfloat *src = TEXEL_ADDR(GLfloat, texImage, i, j, k, 1); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = 0.0F; - texel[ACOMP] = src[0]; -} - - - - -/* MESA_FORMAT_ALPHA_F32 *****************************************************/ - -/* Fetch texel from 1D, 2D or 3D ALPHA_FLOAT16 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_alpha_f16)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLhalfARB *src = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 1); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = 0.0F; - texel[ACOMP] = _mesa_half_to_float(src[0]); -} - - - - -/* MESA_FORMAT_LUMINANCE_F32 *************************************************/ - -/* Fetch texel from 1D, 2D or 3D LUMINANCE_FLOAT32 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_luminance_f32)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLfloat *src = TEXEL_ADDR(GLfloat, texImage, i, j, k, 1); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = src[0]; - texel[ACOMP] = 1.0F; -} - - - - -/* MESA_FORMAT_LUMINANCE_F16 *************************************************/ - -/* Fetch texel from 1D, 2D or 3D LUMINANCE_FLOAT16 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_luminance_f16)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLhalfARB *src = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 1); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = _mesa_half_to_float(src[0]); - texel[ACOMP] = 1.0F; -} - - - - -/* MESA_FORMAT_LUMINANCE_ALPHA_F32 *******************************************/ - -/* Fetch texel from 1D, 2D or 3D LUMINANCE_ALPHA_FLOAT32 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_luminance_alpha_f32)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLfloat *src = TEXEL_ADDR(GLfloat, texImage, i, j, k, 2); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = src[0]; - texel[ACOMP] = src[1]; -} - - - - -/* MESA_FORMAT_LUMINANCE_ALPHA_F16 *******************************************/ - -/* Fetch texel from 1D, 2D or 3D LUMINANCE_ALPHA_FLOAT16 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_luminance_alpha_f16)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLhalfARB *src = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 2); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = _mesa_half_to_float(src[0]); - texel[ACOMP] = _mesa_half_to_float(src[1]); -} - - - - -/* MESA_FORMAT_INTENSITY_F32 *************************************************/ - -/* Fetch texel from 1D, 2D or 3D INTENSITY_FLOAT32 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_intensity_f32)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLfloat *src = TEXEL_ADDR(GLfloat, texImage, i, j, k, 1); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = - texel[ACOMP] = src[0]; -} - - - - -/* MESA_FORMAT_INTENSITY_F16 *************************************************/ - -/* Fetch texel from 1D, 2D or 3D INTENSITY_FLOAT16 texture, - * returning 4 GLfloats. - */ -static void FETCH(f_intensity_f16)( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) -{ - const GLhalfARB *src = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 1); - texel[RCOMP] = - texel[GCOMP] = - texel[BCOMP] = - texel[ACOMP] = _mesa_half_to_float(src[0]); -} - - - /* * Begin Hardware formats */ diff --git a/reactos/dll/opengl/mesa/tnl/t_draw.c b/reactos/dll/opengl/mesa/tnl/t_draw.c index afcebc9d434..5314b86037b 100644 --- a/reactos/dll/opengl/mesa/tnl/t_draw.c +++ b/reactos/dll/opengl/mesa/tnl/t_draw.c @@ -73,24 +73,6 @@ static void free_space(struct gl_context *ctx) } \ } while (0) - -static void -convert_half_to_float(const struct gl_client_array *input, - const GLubyte *ptr, GLfloat *fptr, - GLuint count, GLuint sz) -{ - GLuint i, j; - - for (i = 0; i < count; i++) { - GLhalfARB *in = (GLhalfARB *)ptr; - - for (j = 0; j < sz; j++) { - *fptr++ = _mesa_half_to_float(in[j]); - } - ptr += input->StrideB; - } -} - /** * \brief Convert fixed-point to floating-point. * @@ -168,9 +150,6 @@ static void _tnl_import_array( struct gl_context *ctx, case GL_DOUBLE: CONVERT(GLdouble, (GLfloat)); break; - case GL_HALF_FLOAT: - convert_half_to_float(input, ptr, fptr, count, sz); - break; case GL_FIXED: convert_fixed_to_float(input, ptr, fptr, count); break; From f2e556cc0ab982b3af31ed90b96a43e890316037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Mon, 16 Jun 2014 19:16:37 +0000 Subject: [PATCH 095/120] [OPENGL32/MESA] - Get rid of non-power-of-two and 3D textures - Some cleanup of previous work CORE-7499 svn path=/trunk/; revision=63607 --- .../opengl/mesa/drivers/common/driverfuncs.c | 3 - reactos/dll/opengl/mesa/drivers/common/meta.c | 304 ---------------- reactos/dll/opengl/mesa/drivers/common/meta.h | 8 - reactos/dll/opengl/mesa/main/api_exec.c | 14 - reactos/dll/opengl/mesa/main/attrib.c | 2 - reactos/dll/opengl/mesa/main/config.h | 4 - reactos/dll/opengl/mesa/main/context.c | 1 - reactos/dll/opengl/mesa/main/dd.h | 57 --- reactos/dll/opengl/mesa/main/dispatch.h | 36 -- reactos/dll/opengl/mesa/main/dlist.c | 159 --------- reactos/dll/opengl/mesa/main/enable.c | 7 - reactos/dll/opengl/mesa/main/extensions.c | 6 - reactos/dll/opengl/mesa/main/get.c | 11 - reactos/dll/opengl/mesa/main/glheader.h | 5 - reactos/dll/opengl/mesa/main/mfeatures.h | 4 - reactos/dll/opengl/mesa/main/mtypes.h | 6 +- reactos/dll/opengl/mesa/main/shared.c | 1 - reactos/dll/opengl/mesa/main/texformat.c | 1 - reactos/dll/opengl/mesa/main/texgetimage.c | 3 - reactos/dll/opengl/mesa/main/teximage.c | 165 +-------- reactos/dll/opengl/mesa/main/teximage.h | 26 -- reactos/dll/opengl/mesa/main/texobj.c | 52 --- reactos/dll/opengl/mesa/main/texparam.c | 2 - reactos/dll/opengl/mesa/main/texstate.c | 1 - reactos/dll/opengl/mesa/main/texstorage.c | 8 - reactos/dll/opengl/mesa/main/texstore.c | 56 --- reactos/dll/opengl/mesa/main/texstore.h | 18 - reactos/dll/opengl/mesa/main/version.c | 1 - reactos/dll/opengl/mesa/swrast/s_texfilter.c | 330 ------------------ reactos/dll/opengl/mesa/swrast/s_texture.c | 9 - 30 files changed, 9 insertions(+), 1291 deletions(-) diff --git a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c index 25261d24ac9..286aa9fe7a3 100644 --- a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c +++ b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c @@ -84,14 +84,11 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->ChooseTextureFormat = _mesa_choose_tex_format; driver->TexImage1D = _mesa_store_teximage1d; driver->TexImage2D = _mesa_store_teximage2d; - driver->TexImage3D = _mesa_store_teximage3d; driver->TexSubImage1D = _mesa_store_texsubimage1d; driver->TexSubImage2D = _mesa_store_texsubimage2d; - driver->TexSubImage3D = _mesa_store_texsubimage3d; driver->GetTexImage = _mesa_get_teximage; driver->CopyTexSubImage1D = _mesa_meta_CopyTexSubImage1D; driver->CopyTexSubImage2D = _mesa_meta_CopyTexSubImage2D; - driver->CopyTexSubImage3D = _mesa_meta_CopyTexSubImage3D; driver->TestProxyTexImage = _mesa_test_proxy_teximage; driver->BindTexture = NULL; driver->NewTextureObject = _mesa_new_texture_object; diff --git a/reactos/dll/opengl/mesa/drivers/common/meta.c b/reactos/dll/opengl/mesa/drivers/common/meta.c index 19bf52a825e..d7d79dcf6a2 100644 --- a/reactos/dll/opengl/mesa/drivers/common/meta.c +++ b/reactos/dll/opengl/mesa/drivers/common/meta.c @@ -152,23 +152,6 @@ struct save_state GLboolean RasterDiscard; }; -/** - * Temporary texture used for glBlitFramebuffer, glDrawPixels, etc. - * This is currently shared by all the meta ops. But we could create a - * separate one for each of glDrawPixel, glBlitFramebuffer, glCopyPixels, etc. - */ -struct temp_texture -{ - GLuint TexObj; - GLenum Target; /**< GL_TEXTURE_2D */ - GLsizei MinSize; /**< Min texture size to allocate */ - GLsizei MaxSize; /**< Max possible texture size */ - GLboolean NPOT; /**< Non-power of two size OK? */ - GLsizei Width, Height; /**< Current texture size */ - GLenum IntFormat; - GLfloat Sright, Ttop; /**< right, top texcoords */ -}; - /** * State for glBlitFramebufer() @@ -216,13 +199,9 @@ struct gl_meta_state /** Save stack depth */ GLuint SaveStackDepth; - struct temp_texture TempTex; - struct copypix_state CopyPix; /**< For _mesa_meta_CopyPixels() */ }; -static void cleanup_temp_texture(struct gl_context *ctx, struct temp_texture *tex); - /** * Initialize meta-ops for a context. * To be called once during context creation. @@ -245,7 +224,6 @@ _mesa_meta_free(struct gl_context *ctx) { GET_CURRENT_CONTEXT(old_context); _mesa_make_current(ctx, NULL, NULL); - cleanup_temp_texture(ctx, &ctx->Meta->TempTex); if (old_context) _mesa_make_current(old_context, old_context->WinSysDrawBuffer, old_context->WinSysReadBuffer); else @@ -382,7 +360,6 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) ctx->Texture.Unit.TexGenEnabled) { _mesa_set_enable(ctx, GL_TEXTURE_1D, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_2D, GL_FALSE); - _mesa_set_enable(ctx, GL_TEXTURE_3D, GL_FALSE); if (ctx->Extensions.ARB_texture_cube_map) _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_GEN_S, GL_FALSE); @@ -662,270 +639,6 @@ _mesa_meta_in_progress(struct gl_context *ctx) } -/** - * Convert Z from a normalized value in the range [0, 1] to an object-space - * Z coordinate in [-1, +1] so that drawing at the new Z position with the - * default/identity ortho projection results in the original Z value. - * Used by the meta-Clear, Draw/CopyPixels and Bitmap functions where the Z - * value comes from the clear value or raster position. - */ -static INLINE GLfloat -invert_z(GLfloat normZ) -{ - GLfloat objZ = 1.0f - 2.0f * normZ; - return objZ; -} - - -/** - * One-time init for a temp_texture object. - * Choose tex target, compute max tex size, etc. - */ -static void -init_temp_texture(struct gl_context *ctx, struct temp_texture *tex) -{ - /* use 2D texture, NPOT if possible */ - tex->Target = GL_TEXTURE_2D; - tex->MaxSize = 1 << (ctx->Const.MaxTextureLevels - 1); - tex->NPOT = ctx->Extensions.ARB_texture_non_power_of_two; - tex->MinSize = 16; /* 16 x 16 at least */ - assert(tex->MaxSize > 0); - - _mesa_GenTextures(1, &tex->TexObj); -} - -static void -cleanup_temp_texture(struct gl_context *ctx, struct temp_texture *tex) -{ - if (!tex->TexObj) - return; - _mesa_DeleteTextures(1, &tex->TexObj); - tex->TexObj = 0; -} - - -/** - * Return pointer to temp_texture info for non-bitmap ops. - * This does some one-time init if needed. - */ -static struct temp_texture * -get_temp_texture(struct gl_context *ctx) -{ - struct temp_texture *tex = &ctx->Meta->TempTex; - - if (!tex->TexObj) { - init_temp_texture(ctx, tex); - } - - return tex; -} - - -/** - * Compute the width/height of texture needed to draw an image of the - * given size. Return a flag indicating whether the current texture - * can be re-used (glTexSubImage2D) or if a new texture needs to be - * allocated (glTexImage2D). - * Also, compute s/t texcoords for drawing. - * - * \return GL_TRUE if new texture is needed, GL_FALSE otherwise - */ -static GLboolean -alloc_texture(struct temp_texture *tex, - GLsizei width, GLsizei height, GLenum intFormat) -{ - GLboolean newTex = GL_FALSE; - - ASSERT(width <= tex->MaxSize); - ASSERT(height <= tex->MaxSize); - - if (width > tex->Width || - height > tex->Height || - intFormat != tex->IntFormat) { - /* alloc new texture (larger or different format) */ - - if (tex->NPOT) { - /* use non-power of two size */ - tex->Width = MAX2(tex->MinSize, width); - tex->Height = MAX2(tex->MinSize, height); - } - else { - /* find power of two size */ - GLsizei w, h; - w = h = tex->MinSize; - while (w < width) - w *= 2; - while (h < height) - h *= 2; - tex->Width = w; - tex->Height = h; - } - - tex->IntFormat = intFormat; - - newTex = GL_TRUE; - } - - /* compute texcoords */ - tex->Sright = (GLfloat) width / tex->Width; - tex->Ttop = (GLfloat) height / tex->Height; - - return newTex; -} - - -/** - * Setup/load texture for glCopyPixels or glBlitFramebuffer. - */ -static void -setup_copypix_texture(struct temp_texture *tex, - GLboolean newTex, - GLint srcX, GLint srcY, - GLsizei width, GLsizei height, GLenum intFormat, - GLenum filter) -{ - _mesa_BindTexture(tex->Target, tex->TexObj); - _mesa_TexParameteri(tex->Target, GL_TEXTURE_MIN_FILTER, filter); - _mesa_TexParameteri(tex->Target, GL_TEXTURE_MAG_FILTER, filter); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - - /* copy framebuffer image to texture */ - if (newTex) { - /* create new tex image */ - if (tex->Width == width && tex->Height == height) { - /* create new tex with framebuffer data */ - _mesa_CopyTexImage2D(tex->Target, 0, tex->IntFormat, - srcX, srcY, width, height, 0); - } - else { - /* create empty texture */ - _mesa_TexImage2D(tex->Target, 0, tex->IntFormat, - tex->Width, tex->Height, 0, - intFormat, GL_UNSIGNED_BYTE, NULL); - /* load image */ - _mesa_CopyTexSubImage2D(tex->Target, 0, - 0, 0, srcX, srcY, width, height); - } - } - else { - /* replace existing tex image */ - _mesa_CopyTexSubImage2D(tex->Target, 0, - 0, 0, srcX, srcY, width, height); - } -} - -/** - * Meta implementation of ctx->Driver.CopyPixels() in terms - * of texture mapping and polygon rendering and GLSL shaders. - */ -void -_mesa_meta_CopyPixels(struct gl_context *ctx, GLint srcX, GLint srcY, - GLsizei width, GLsizei height, - GLint dstX, GLint dstY, GLenum type) -{ - struct copypix_state *copypix = &ctx->Meta->CopyPix; - struct temp_texture *tex = get_temp_texture(ctx); - struct vertex { - GLfloat x, y, z, s, t; - }; - struct vertex verts[4]; - GLboolean newTex; - GLenum intFormat = GL_RGBA; - - if (type != GL_COLOR || - ctx->_ImageTransferState || - ctx->Fog.Enabled || - width > tex->MaxSize || - height > tex->MaxSize) { - /* XXX avoid this fallback */ - _swrast_CopyPixels(ctx, srcX, srcY, width, height, dstX, dstY, type); - return; - } - - /* Most GL state applies to glCopyPixels, but a there's a few things - * we need to override: - */ - _mesa_meta_begin(ctx, (MESA_META_RASTERIZATION | - MESA_META_TEXTURE | - MESA_META_TRANSFORM | - MESA_META_CLIP | - MESA_META_VERTEX | - MESA_META_VIEWPORT)); - - if (copypix->ArrayObj == 0) { - /* one-time setup */ - - /* create vertex array object */ - _mesa_GenVertexArrays(1, ©pix->ArrayObj); - _mesa_BindVertexArray(copypix->ArrayObj); - - /* create vertex array buffer */ - _mesa_GenBuffersARB(1, ©pix->VBO); - _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, copypix->VBO); - _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), - NULL, GL_DYNAMIC_DRAW_ARB); - - /* setup vertex arrays */ - _mesa_VertexPointer(3, GL_FLOAT, sizeof(struct vertex), OFFSET(x)); - _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), OFFSET(s)); - _mesa_EnableClientState(GL_VERTEX_ARRAY); - _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); - } - else { - _mesa_BindVertexArray(copypix->ArrayObj); - _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, copypix->VBO); - } - - newTex = alloc_texture(tex, width, height, intFormat); - - /* vertex positions, texcoords (after texture allocation!) */ - { - const GLfloat dstX0 = (GLfloat) dstX; - const GLfloat dstY0 = (GLfloat) dstY; - const GLfloat dstX1 = dstX + width * ctx->Pixel.ZoomX; - const GLfloat dstY1 = dstY + height * ctx->Pixel.ZoomY; - const GLfloat z = invert_z(ctx->Current.RasterPos[2]); - - verts[0].x = dstX0; - verts[0].y = dstY0; - verts[0].z = z; - verts[0].s = 0.0F; - verts[0].t = 0.0F; - verts[1].x = dstX1; - verts[1].y = dstY0; - verts[1].z = z; - verts[1].s = tex->Sright; - verts[1].t = 0.0F; - verts[2].x = dstX1; - verts[2].y = dstY1; - verts[2].z = z; - verts[2].s = tex->Sright; - verts[2].t = tex->Ttop; - verts[3].x = dstX0; - verts[3].y = dstY1; - verts[3].z = z; - verts[3].s = 0.0F; - verts[3].t = tex->Ttop; - - /* upload new vertex data */ - _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); - } - - /* Alloc/setup texture */ - setup_copypix_texture(tex, newTex, srcX, srcY, width, height, - GL_RGBA, GL_NEAREST); - - _mesa_set_enable(ctx, tex->Target, GL_TRUE); - - /* draw textured quad */ - _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); - - _mesa_set_enable(ctx, tex->Target, GL_FALSE); - - _mesa_meta_end(ctx); -} - - /** * Determine the GL data type to use for the temporary image read with * ReadPixels() and passed to Tex[Sub]Image(). @@ -1031,11 +744,6 @@ copy_tex_sub_image(struct gl_context *ctx, xoffset, width, format, type, buf, &ctx->Unpack); } - else if (target == GL_TEXTURE_3D) { - ctx->Driver.TexSubImage3D(ctx, texImage, - xoffset, yoffset, zoffset, width, height, 1, - format, type, buf, &ctx->Unpack); - } else { ctx->Driver.TexSubImage2D(ctx, texImage, xoffset, yoffset, width, height, @@ -1073,15 +781,3 @@ _mesa_meta_CopyTexSubImage2D(struct gl_context *ctx, rb, x, y, width, height); } - -void -_mesa_meta_CopyTexSubImage3D(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint xoffset, GLint yoffset, GLint zoffset, - struct gl_renderbuffer *rb, - GLint x, GLint y, - GLsizei width, GLsizei height) -{ - copy_tex_sub_image(ctx, 3, texImage, xoffset, yoffset, zoffset, - rb, x, y, width, height); -} diff --git a/reactos/dll/opengl/mesa/drivers/common/meta.h b/reactos/dll/opengl/mesa/drivers/common/meta.h index 1e2656af014..388f6aeb2ab 100644 --- a/reactos/dll/opengl/mesa/drivers/common/meta.h +++ b/reactos/dll/opengl/mesa/drivers/common/meta.h @@ -88,12 +88,4 @@ _mesa_meta_CopyTexSubImage2D(struct gl_context *ctx, GLint x, GLint y, GLsizei width, GLsizei height); -extern void -_mesa_meta_CopyTexSubImage3D(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint xoffset, GLint yoffset, GLint zoffset, - struct gl_renderbuffer *rb, - GLint x, GLint y, - GLsizei width, GLsizei height); - #endif /* META_H */ diff --git a/reactos/dll/opengl/mesa/main/api_exec.c b/reactos/dll/opengl/mesa/main/api_exec.c index 2e8f24cdb3c..245597cd294 100644 --- a/reactos/dll/opengl/mesa/main/api_exec.c +++ b/reactos/dll/opengl/mesa/main/api_exec.c @@ -208,13 +208,6 @@ _mesa_create_exec_table(void) SET_VertexPointer(exec, _mesa_VertexPointer); #endif - /* 1.2 */ -#if _HAVE_FULL_GL - SET_CopyTexSubImage3D(exec, _mesa_CopyTexSubImage3D); - SET_TexImage3D(exec, _mesa_TexImage3D); - SET_TexSubImage3D(exec, _mesa_TexSubImage3D); -#endif - /* OpenGL 1.2 GL_ARB_imaging */ SET_BlendColor(exec, _mesa_BlendColor); SET_BlendEquation(exec, _mesa_BlendEquation); @@ -234,13 +227,6 @@ _mesa_create_exec_table(void) SET_PolygonOffsetEXT(exec, _mesa_PolygonOffsetEXT); #endif - /* 6. GL_EXT_texture3d */ -#if 0 -/* SET_CopyTexSubImage3DEXT(exec, _mesa_CopyTexSubImage3D); */ -/* SET_TexImage3DEXT(exec, _mesa_TexImage3DEXT); */ -/* SET_TexSubImage3DEXT(exec, _mesa_TexSubImage3D); */ -#endif - /* 11. GL_EXT_histogram */ #if 0 SET_GetHistogramEXT(exec, _mesa_GetHistogram); diff --git a/reactos/dll/opengl/mesa/main/attrib.c b/reactos/dll/opengl/mesa/main/attrib.c index 1a1dce79675..761831ec0da 100644 --- a/reactos/dll/opengl/mesa/main/attrib.c +++ b/reactos/dll/opengl/mesa/main/attrib.c @@ -529,7 +529,6 @@ pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib *enable) if (ctx->Texture.Unit.Enabled != enabled) { _mesa_set_enable(ctx, GL_TEXTURE_1D, !!(enabled & TEXTURE_1D_BIT)); _mesa_set_enable(ctx, GL_TEXTURE_2D, !!(enabled & TEXTURE_2D_BIT)); - _mesa_set_enable(ctx, GL_TEXTURE_3D, !!(enabled & TEXTURE_3D_BIT)); if (ctx->Extensions.ARB_texture_cube_map) { _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP, !!(enabled & TEXTURE_CUBE_BIT)); @@ -561,7 +560,6 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate) _mesa_set_enable(ctx, GL_TEXTURE_1D, !!(unit->Enabled & TEXTURE_1D_BIT)); _mesa_set_enable(ctx, GL_TEXTURE_2D, !!(unit->Enabled & TEXTURE_2D_BIT)); - _mesa_set_enable(ctx, GL_TEXTURE_3D, !!(unit->Enabled & TEXTURE_3D_BIT)); _mesa_TexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, unit->EnvMode); _mesa_TexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, unit->EnvColor); diff --git a/reactos/dll/opengl/mesa/main/config.h b/reactos/dll/opengl/mesa/main/config.h index c88dfc941ed..6a87467b0b6 100644 --- a/reactos/dll/opengl/mesa/main/config.h +++ b/reactos/dll/opengl/mesa/main/config.h @@ -135,7 +135,6 @@ #undef MAX_WIDTH #undef MAX_HEIGHT #define MAX_TEXTURE_LEVELS 13 -#define MAX_3D_TEXTURE_LEVELS 9 #define MAX_CUBE_TEXTURE_LEVELS 13 #define MAX_WIDTH 4096 #define MAX_HEIGHT 4096 @@ -155,9 +154,6 @@ /** Max convolution filter height */ #define MAX_CONVOLUTION_HEIGHT 9 -/** For GL_ARB_texture_compression */ -#define MAX_COMPRESSED_TEXTURE_FORMATS 25 - /** For GL_EXT_texture_filter_anisotropic */ #define MAX_TEXTURE_MAX_ANISOTROPY 16.0 diff --git a/reactos/dll/opengl/mesa/main/context.c b/reactos/dll/opengl/mesa/main/context.c index ac1e0c5b0c6..14e64c555f3 100644 --- a/reactos/dll/opengl/mesa/main/context.c +++ b/reactos/dll/opengl/mesa/main/context.c @@ -392,7 +392,6 @@ _mesa_init_constants(struct gl_context *ctx) /* Constants, may be overriden (usually only reduced) by device drivers */ ctx->Const.MaxTextureMbytes = MAX_TEXTURE_MBYTES; ctx->Const.MaxTextureLevels = MAX_TEXTURE_LEVELS; - ctx->Const.Max3DTextureLevels = MAX_3D_TEXTURE_LEVELS; ctx->Const.MaxCubeTextureLevels = MAX_CUBE_TEXTURE_LEVELS; ctx->Const.MaxTextureMaxAnisotropy = MAX_TEXTURE_MAX_ANISOTROPY; ctx->Const.MaxArrayLockSize = MAX_ARRAY_LOCK_SIZE; diff --git a/reactos/dll/opengl/mesa/main/dd.h b/reactos/dll/opengl/mesa/main/dd.h index 1af1c0ffad7..05c89781dd3 100644 --- a/reactos/dll/opengl/mesa/main/dd.h +++ b/reactos/dll/opengl/mesa/main/dd.h @@ -220,18 +220,6 @@ struct dd_function_table { GLint width, GLint height, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing); - - /** - * Called by glTexImage3D(). - * - * \sa dd_function_table::TexImage1D. - */ - void (*TexImage3D)(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, - GLenum format, GLenum type, const GLvoid *pixels, - const struct gl_pixelstore_attrib *packing); /** * Called by glTexSubImage1D(). Replace a subset of the target texture @@ -257,19 +245,6 @@ struct dd_function_table { GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing); - - /** - * Called by glTexSubImage3D(). - * - * \sa dd_function_table::TexSubImage1D. - */ - void (*TexSubImage3D)(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLint depth, - GLenum format, GLenum type, - const GLvoid *pixels, - const struct gl_pixelstore_attrib *packing); /** @@ -298,16 +273,6 @@ struct dd_function_table { GLint x, GLint y, GLsizei width, GLsizei height); - /** - * Called by glCopyTexSubImage3D() and glCopyTexImage3D(). - */ - void (*CopyTexSubImage3D)(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint xoffset, GLint yoffset, GLint zoffset, - struct gl_renderbuffer *rb, - GLint x, GLint y, - GLsizei width, GLsizei height); - /** * Called by glTexImage[123]D when user specifies a proxy texture * target. @@ -348,18 +313,6 @@ struct dd_function_table { GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); - /** - * Called by glCompressedTexImage3D(). - * - * \sa dd_function_table::CompressedTexImage3D. - */ - void (*CompressedTexImage3D)(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint internalFormat, - GLsizei width, GLsizei height, GLsizei depth, - GLint border, - GLsizei imageSize, const GLvoid *data); - /** * Called by glCompressedTexSubImage1D(). */ @@ -378,16 +331,6 @@ struct dd_function_table { GLsizei width, GLint height, GLenum format, GLsizei imageSize, const GLvoid *data); - - /** - * Called by glCompressedTexSubImage3D(). - */ - void (*CompressedTexSubImage3D)(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLint height, GLint depth, - GLenum format, - GLsizei imageSize, const GLvoid *data); /*@}*/ /** diff --git a/reactos/dll/opengl/mesa/main/dispatch.h b/reactos/dll/opengl/mesa/main/dispatch.h index f9ecac92781..41c30e2eec7 100644 --- a/reactos/dll/opengl/mesa/main/dispatch.h +++ b/reactos/dll/opengl/mesa/main/dispatch.h @@ -438,9 +438,6 @@ typedef PROC _glapi_proc; #define _gloffset_Minmax 368 #define _gloffset_ResetHistogram 369 #define _gloffset_ResetMinmax 370 -#define _gloffset_TexImage3D 371 -#define _gloffset_TexSubImage3D 372 -#define _gloffset_CopyTexSubImage3D 373 #if !FEATURE_remap_table @@ -5173,39 +5170,6 @@ static inline void SET_ResetMinmax(struct _glapi_table *disp, void (GLAPIENTRYP SET_by_offset(disp, _gloffset_ResetMinmax, fn); } -typedef void (GLAPIENTRYP _glptr_TexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); -#define CALL_TexImage3D(disp, parameters) \ - (* GET_TexImage3D(disp)) parameters -static inline _glptr_TexImage3D GET_TexImage3D(struct _glapi_table *disp) { - return (_glptr_TexImage3D) (GET_by_offset(disp, _gloffset_TexImage3D)); -} - -static inline void SET_TexImage3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) { - SET_by_offset(disp, _gloffset_TexImage3D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); -#define CALL_TexSubImage3D(disp, parameters) \ - (* GET_TexSubImage3D(disp)) parameters -static inline _glptr_TexSubImage3D GET_TexSubImage3D(struct _glapi_table *disp) { - return (_glptr_TexSubImage3D) (GET_by_offset(disp, _gloffset_TexSubImage3D)); -} - -static inline void SET_TexSubImage3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) { - SET_by_offset(disp, _gloffset_TexSubImage3D, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define CALL_CopyTexSubImage3D(disp, parameters) \ - (* GET_CopyTexSubImage3D(disp)) parameters -static inline _glptr_CopyTexSubImage3D GET_CopyTexSubImage3D(struct _glapi_table *disp) { - return (_glptr_CopyTexSubImage3D) (GET_by_offset(disp, _gloffset_CopyTexSubImage3D)); -} - -static inline void SET_CopyTexSubImage3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) { - SET_by_offset(disp, _gloffset_CopyTexSubImage3D, fn); -} - typedef const GLubyte * (GLAPIENTRYP _glptr_GetStringi)(GLenum, GLuint); #define CALL_GetStringi(disp, parameters) \ (* GET_GetStringi(disp)) parameters diff --git a/reactos/dll/opengl/mesa/main/dlist.c b/reactos/dll/opengl/mesa/main/dlist.c index b3d8f355057..2abbea7a32e 100644 --- a/reactos/dll/opengl/mesa/main/dlist.c +++ b/reactos/dll/opengl/mesa/main/dlist.c @@ -179,7 +179,6 @@ typedef enum OPCODE_COPY_TEX_IMAGE2D, OPCODE_COPY_TEX_SUB_IMAGE1D, OPCODE_COPY_TEX_SUB_IMAGE2D, - OPCODE_COPY_TEX_SUB_IMAGE3D, OPCODE_CULL_FACE, OPCODE_DEPTH_FUNC, OPCODE_DEPTH_MASK, @@ -248,10 +247,8 @@ typedef enum OPCODE_TEXPARAMETER, OPCODE_TEX_IMAGE1D, OPCODE_TEX_IMAGE2D, - OPCODE_TEX_IMAGE3D, OPCODE_TEX_SUB_IMAGE1D, OPCODE_TEX_SUB_IMAGE2D, - OPCODE_TEX_SUB_IMAGE3D, OPCODE_TRANSLATE, OPCODE_VIEWPORT, OPCODE_WINDOW_POS, @@ -502,10 +499,6 @@ _mesa_delete_list(struct gl_context *ctx, struct gl_display_list *dlist) free(n[9].data); n += InstSize[n[0].opcode]; break; - case OPCODE_TEX_IMAGE3D: - free(n[10].data); - n += InstSize[n[0].opcode]; - break; case OPCODE_TEX_SUB_IMAGE1D: free(n[7].data); n += InstSize[n[0].opcode]; @@ -514,10 +507,6 @@ _mesa_delete_list(struct gl_context *ctx, struct gl_display_list *dlist) free(n[9].data); n += InstSize[n[0].opcode]; break; - case OPCODE_TEX_SUB_IMAGE3D: - free(n[11].data); - n += InstSize[n[0].opcode]; - break; case OPCODE_CONTINUE: n = (Node *) n[1].next; free(block); @@ -1607,34 +1596,6 @@ save_CopyTexSubImage2D(GLenum target, GLint level, } -static void GLAPIENTRY -save_CopyTexSubImage3D(GLenum target, GLint level, - GLint xoffset, GLint yoffset, GLint zoffset, - GLint x, GLint y, GLsizei width, GLint height) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_COPY_TEX_SUB_IMAGE3D, 9); - if (n) { - n[1].e = target; - n[2].i = level; - n[3].i = xoffset; - n[4].i = yoffset; - n[5].i = zoffset; - n[6].i = x; - n[7].i = y; - n[8].i = width; - n[9].i = height; - } - if (ctx->ExecuteFlag) { - CALL_CopyTexSubImage3D(ctx->Exec, (target, level, - xoffset, yoffset, zoffset, - x, y, width, height)); - } -} - - static void GLAPIENTRY save_CullFace(GLenum mode) { @@ -3519,46 +3480,6 @@ save_TexImage2D(GLenum target, } -static void GLAPIENTRY -save_TexImage3D(GLenum target, - GLint level, GLint internalFormat, - GLsizei width, GLsizei height, GLsizei depth, - GLint border, - GLenum format, GLenum type, const GLvoid * pixels) -{ - GET_CURRENT_CONTEXT(ctx); - if (target == GL_PROXY_TEXTURE_3D) { - /* don't compile, execute immediately */ - CALL_TexImage3D(ctx->Exec, (target, level, internalFormat, width, - height, depth, border, format, type, - pixels)); - } - else { - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_TEX_IMAGE3D, 10); - if (n) { - n[1].e = target; - n[2].i = level; - n[3].i = (GLint) internalFormat; - n[4].i = (GLint) width; - n[5].i = (GLint) height; - n[6].i = (GLint) depth; - n[7].i = border; - n[8].e = format; - n[9].e = type; - n[10].data = unpack_image(ctx, 3, width, height, depth, format, type, - pixels, &ctx->Unpack); - } - if (ctx->ExecuteFlag) { - CALL_TexImage3D(ctx->Exec, (target, level, internalFormat, width, - height, depth, border, format, type, - pixels)); - } - } -} - - static void GLAPIENTRY save_TexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, @@ -3618,41 +3539,6 @@ save_TexSubImage2D(GLenum target, GLint level, } -static void GLAPIENTRY -save_TexSubImage3D(GLenum target, GLint level, - GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth, - GLenum format, GLenum type, const GLvoid * pixels) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - - n = alloc_instruction(ctx, OPCODE_TEX_SUB_IMAGE3D, 11); - if (n) { - n[1].e = target; - n[2].i = level; - n[3].i = xoffset; - n[4].i = yoffset; - n[5].i = zoffset; - n[6].i = (GLint) width; - n[7].i = (GLint) height; - n[8].i = (GLint) depth; - n[9].e = format; - n[10].e = type; - n[11].data = unpack_image(ctx, 3, width, height, depth, format, type, - pixels, &ctx->Unpack); - } - if (ctx->ExecuteFlag) { - CALL_TexSubImage3D(ctx->Exec, (target, level, - xoffset, yoffset, zoffset, - width, height, depth, format, type, - pixels)); - } -} - - static void GLAPIENTRY save_Translatef(GLfloat x, GLfloat y, GLfloat z) { @@ -4980,11 +4866,6 @@ execute_list(struct gl_context *ctx, GLuint list) n[4].i, n[5].i, n[6].i, n[7].i, n[8].i)); break; - case OPCODE_COPY_TEX_SUB_IMAGE3D: - CALL_CopyTexSubImage3D(ctx->Exec, (n[1].e, n[2].i, n[3].i, - n[4].i, n[5].i, n[6].i, n[7].i, - n[8].i, n[9].i)); - break; case OPCODE_CULL_FACE: CALL_CullFace(ctx->Exec, (n[1].e)); break; @@ -5314,23 +5195,6 @@ execute_list(struct gl_context *ctx, GLuint list) ctx->Unpack = save; /* restore */ } break; - case OPCODE_TEX_IMAGE3D: - { - const struct gl_pixelstore_attrib save = ctx->Unpack; - ctx->Unpack = ctx->DefaultPacking; - CALL_TexImage3D(ctx->Exec, (n[1].e, /* target */ - n[2].i, /* level */ - n[3].i, /* components */ - n[4].i, /* width */ - n[5].i, /* height */ - n[6].i, /* depth */ - n[7].e, /* border */ - n[8].e, /* format */ - n[9].e, /* type */ - n[10].data)); - ctx->Unpack = save; /* restore */ - } - break; case OPCODE_TEX_SUB_IMAGE1D: { const struct gl_pixelstore_attrib save = ctx->Unpack; @@ -5352,17 +5216,6 @@ execute_list(struct gl_context *ctx, GLuint list) ctx->Unpack = save; /* restore */ } break; - case OPCODE_TEX_SUB_IMAGE3D: - { - const struct gl_pixelstore_attrib save = ctx->Unpack; - ctx->Unpack = ctx->DefaultPacking; - CALL_TexSubImage3D(ctx->Exec, (n[1].e, n[2].i, n[3].i, - n[4].i, n[5].i, n[6].i, n[7].i, - n[8].i, n[9].e, n[10].e, - n[11].data)); - ctx->Unpack = save; /* restore */ - } - break; case OPCODE_TRANSLATE: CALL_Translatef(ctx->Exec, (n[1].f, n[2].f, n[3].f)); break; @@ -6729,11 +6582,6 @@ _mesa_create_save_table(void) SET_TexSubImage2D(table, save_TexSubImage2D); SET_VertexPointer(table, exec_VertexPointer); - /* GL 1.2 */ - SET_CopyTexSubImage3D(table, save_CopyTexSubImage3D); - SET_TexImage3D(table, save_TexImage3D); - SET_TexSubImage3D(table, save_TexSubImage3D); - /* GL_ARB_imaging */ /* Not all are supported */ SET_BlendColor(table, save_BlendColor); @@ -6779,13 +6627,6 @@ _mesa_create_save_table(void) /* 3. GL_EXT_polygon_offset */ SET_PolygonOffsetEXT(table, save_PolygonOffsetEXT); - /* 6. GL_EXT_texture3d */ -#if 0 - SET_CopyTexSubImage3DEXT(table, save_CopyTexSubImage3D); - SET_TexImage3DEXT(table, save_TexImage3DEXT); - SET_TexSubImage3DEXT(table, save_TexSubImage3D); -#endif - /* 14. GL_SGI_color_table */ #if 0 SET_ColorTableSGI(table, save_ColorTable); diff --git a/reactos/dll/opengl/mesa/main/enable.c b/reactos/dll/opengl/mesa/main/enable.c index c42c40261d8..a70bc5928f9 100644 --- a/reactos/dll/opengl/mesa/main/enable.c +++ b/reactos/dll/opengl/mesa/main/enable.c @@ -568,11 +568,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state) return; } break; - case GL_TEXTURE_3D: - if (!enable_texture(ctx, state, TEXTURE_3D_BIT)) { - return; - } - break; case GL_TEXTURE_GEN_S: case GL_TEXTURE_GEN_T: case GL_TEXTURE_GEN_R: @@ -886,8 +881,6 @@ _mesa_IsEnabled( GLenum cap ) return is_texture_enabled(ctx, TEXTURE_1D_BIT); case GL_TEXTURE_2D: return is_texture_enabled(ctx, TEXTURE_2D_BIT); - case GL_TEXTURE_3D: - return is_texture_enabled(ctx, TEXTURE_3D_BIT); case GL_TEXTURE_GEN_S: case GL_TEXTURE_GEN_T: case GL_TEXTURE_GEN_R: diff --git a/reactos/dll/opengl/mesa/main/extensions.c b/reactos/dll/opengl/mesa/main/extensions.c index 02c8dbf1c1b..ec01949c09a 100644 --- a/reactos/dll/opengl/mesa/main/extensions.c +++ b/reactos/dll/opengl/mesa/main/extensions.c @@ -71,7 +71,6 @@ static const struct extension extension_table[] = { { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), 2001 }, { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), 2001 }, { "GL_ARB_texture_mirrored_repeat", o(dummy_true), 2001 }, - { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), 2003 }, { "GL_ARB_texture_storage", o(ARB_texture_storage), 2011 }, { "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), 1999 }, { "GL_ARB_vertex_array_object", o(ARB_vertex_array_object), 2006 }, @@ -206,7 +205,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE; ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE; /*ctx->Extensions.ARB_texture_float = GL_TRUE;*/ - ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE; ctx->Extensions.ARB_texture_storage = GL_TRUE; ctx->Extensions.ARB_vertex_array_object = GL_TRUE; ctx->Extensions.APPLE_vertex_array_object = GL_TRUE; @@ -234,9 +232,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.NV_point_sprite = GL_TRUE; ctx->Extensions.NV_texture_env_combine4 = GL_TRUE; /*ctx->Extensions.NV_texgen_reflection = GL_TRUE;*/ -#if FEATURE_texture_fxt1 - _mesa_enable_extension(ctx, "GL_3DFX_texture_compression_FXT1"); -#endif } @@ -293,7 +288,6 @@ _mesa_enable_2_0_extensions(struct gl_context *ctx) { ctx->Extensions.ARB_point_sprite = GL_TRUE; ctx->Extensions.EXT_blend_equation_separate = GL_TRUE; - ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE; } diff --git a/reactos/dll/opengl/mesa/main/get.c b/reactos/dll/opengl/mesa/main/get.c index 3dcc7e800fb..43f90ac339a 100644 --- a/reactos/dll/opengl/mesa/main/get.c +++ b/reactos/dll/opengl/mesa/main/get.c @@ -357,10 +357,6 @@ static const struct value_desc values[] = { { GL_BLEND_EQUATION, CONTEXT_ENUM(Color.EquationRGB), NO_EXTRA }, { GL_BLEND_EQUATION_ALPHA_EXT, CONTEXT_ENUM(Color.EquationA), NO_EXTRA }, - /* GL_ARB_texture_compression */ - { GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, - { GL_COMPRESSED_TEXTURE_FORMATS_ARB, LOC_CUSTOM, TYPE_INT_N, 0, NO_EXTRA }, - /* GL_ARB_multisample */ { GL_SAMPLE_ALPHA_TO_COVERAGE_ARB, CONTEXT_BOOL(Multisample.SampleAlphaToCoverage), NO_EXTRA }, @@ -512,11 +508,6 @@ static const struct value_desc values[] = { { GL_BLEND_COLOR_EXT, LOC_CUSTOM, TYPE_FLOATN_4, 0, NO_EXTRA }, - /* OES_texture_3D */ - { GL_TEXTURE_BINDING_3D, LOC_CUSTOM, TYPE_INT, TEXTURE_3D_INDEX, NO_EXTRA }, - { GL_MAX_3D_TEXTURE_SIZE, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_context, Const.Max3DTextureLevels), NO_EXTRA }, - { GL_ACCUM_RED_BITS, BUFFER_INT(Visual.accumRedBits), NO_EXTRA }, { GL_ACCUM_GREEN_BITS, BUFFER_INT(Visual.accumGreenBits), NO_EXTRA }, { GL_ACCUM_BLUE_BITS, BUFFER_INT(Visual.accumBlueBits), NO_EXTRA }, @@ -638,7 +629,6 @@ static const struct value_desc values[] = { { GL_STEREO, BUFFER_INT(Visual.stereoMode), NO_EXTRA }, { GL_TEXTURE_1D, LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA }, - { GL_TEXTURE_3D, LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA }, { GL_TEXTURE_BINDING_1D, LOC_CUSTOM, TYPE_INT, TEXTURE_1D_INDEX, NO_EXTRA }, @@ -882,7 +872,6 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu switch (d->pname) { case GL_TEXTURE_1D: case GL_TEXTURE_2D: - case GL_TEXTURE_3D: case GL_TEXTURE_CUBE_MAP_ARB: v->value_bool = _mesa_IsEnabled(d->pname); break; diff --git a/reactos/dll/opengl/mesa/main/glheader.h b/reactos/dll/opengl/mesa/main/glheader.h index 9bf3970f0db..56d5ab17c5f 100644 --- a/reactos/dll/opengl/mesa/main/glheader.h +++ b/reactos/dll/opengl/mesa/main/glheader.h @@ -153,11 +153,6 @@ typedef void *GLeglImageOES; #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD #endif -#ifndef GL_ATI_texture_compression_3dc -#define GL_ATI_texture_compression_3dc 1 -#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 -#endif - /** * Internal token to represent a GLSL shader program (a collection of diff --git a/reactos/dll/opengl/mesa/main/mfeatures.h b/reactos/dll/opengl/mesa/main/mfeatures.h index 940151abbe7..d432175bbcd 100644 --- a/reactos/dll/opengl/mesa/main/mfeatures.h +++ b/reactos/dll/opengl/mesa/main/mfeatures.h @@ -103,14 +103,10 @@ #define FEATURE_pixel_transfer FEATURE_GL #define FEATURE_queryobj FEATURE_GL #define FEATURE_rastpos FEATURE_GL -#define FEATURE_texture_fxt1 FEATURE_GL -#define FEATURE_texture_s3tc FEATURE_GL #define FEATURE_extra_context_init FEATURE_ES #define FEATURE_point_size_array FEATURE_ES -#define FEATURE_es2_glsl FEATURE_ES2 - #define FEATURE_ARB_fragment_program 1 #define FEATURE_ARB_vertex_program 1 #define FEATURE_ARB_vertex_shader 1 diff --git a/reactos/dll/opengl/mesa/main/mtypes.h b/reactos/dll/opengl/mesa/main/mtypes.h index 2dc4ce80524..41031579658 100644 --- a/reactos/dll/opengl/mesa/main/mtypes.h +++ b/reactos/dll/opengl/mesa/main/mtypes.h @@ -833,7 +833,6 @@ struct gl_stencil_attrib typedef enum { TEXTURE_CUBE_INDEX, - TEXTURE_3D_INDEX, TEXTURE_2D_INDEX, TEXTURE_1D_INDEX, NUM_TEXTURE_TARGETS @@ -846,7 +845,6 @@ typedef enum */ /*@{*/ #define TEXTURE_CUBE_BIT (1 << TEXTURE_CUBE_INDEX) -#define TEXTURE_3D_BIT (1 << TEXTURE_3D_INDEX) #define TEXTURE_2D_BIT (1 << TEXTURE_2D_INDEX) #define TEXTURE_1D_BIT (1 << TEXTURE_1D_INDEX) /*@}*/ @@ -1512,8 +1510,7 @@ struct gl_precision struct gl_constants { GLint MaxTextureMbytes; /**< Max memory per image, in MB */ - GLint MaxTextureLevels; /**< Max mipmap levels. */ - GLint Max3DTextureLevels; /**< Max mipmap levels for 3D textures */ + GLint MaxTextureLevels; /**< Max mipmap levels. */ GLint MaxCubeTextureLevels; /**< Max mipmap levels for cube textures */ GLfloat MaxTextureMaxAnisotropy; /**< GL_EXT_texture_filter_anisotropic */ @@ -1583,7 +1580,6 @@ struct gl_extensions GLboolean ARB_texture_env_combine; GLboolean ARB_texture_env_crossbar; GLboolean ARB_texture_env_dot3; - GLboolean ARB_texture_non_power_of_two; GLboolean ARB_texture_storage; GLboolean ARB_transpose_matrix; GLboolean ARB_vertex_array_object; diff --git a/reactos/dll/opengl/mesa/main/shared.c b/reactos/dll/opengl/mesa/main/shared.c index bc5807bb553..cc9ae8ba38c 100644 --- a/reactos/dll/opengl/mesa/main/shared.c +++ b/reactos/dll/opengl/mesa/main/shared.c @@ -63,7 +63,6 @@ _mesa_alloc_shared_state(struct gl_context *ctx) /* NOTE: the order of these enums matches the TEXTURE_x_INDEX values */ static const GLenum targets[NUM_TEXTURE_TARGETS] = { GL_TEXTURE_CUBE_MAP, - GL_TEXTURE_3D, GL_TEXTURE_2D, GL_TEXTURE_1D }; diff --git a/reactos/dll/opengl/mesa/main/texformat.c b/reactos/dll/opengl/mesa/main/texformat.c index 052dfc1691f..2d6efe2be25 100644 --- a/reactos/dll/opengl/mesa/main/texformat.c +++ b/reactos/dll/opengl/mesa/main/texformat.c @@ -95,7 +95,6 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat, break; case GL_RGBA12: case GL_RGBA16: - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_16); RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_16); RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA8888); RETURN_IF_SUPPORTED(MESA_FORMAT_ARGB8888); diff --git a/reactos/dll/opengl/mesa/main/texgetimage.c b/reactos/dll/opengl/mesa/main/texgetimage.c index 29590ce5348..f77d38331ef 100644 --- a/reactos/dll/opengl/mesa/main/texgetimage.c +++ b/reactos/dll/opengl/mesa/main/texgetimage.c @@ -397,9 +397,6 @@ _mesa_get_teximage(struct gl_context *ctx, case GL_TEXTURE_1D: dimensions = 1; break; - case GL_TEXTURE_3D: - dimensions = 3; - break; default: dimensions = 2; } diff --git a/reactos/dll/opengl/mesa/main/teximage.c b/reactos/dll/opengl/mesa/main/teximage.c index cd7b1c96ab1..f6352726fee 100644 --- a/reactos/dll/opengl/mesa/main/teximage.c +++ b/reactos/dll/opengl/mesa/main/teximage.c @@ -279,7 +279,6 @@ _mesa_is_proxy_texture(GLenum target) return (target == GL_PROXY_TEXTURE_1D || target == GL_PROXY_TEXTURE_2D || - target == GL_PROXY_TEXTURE_3D || target == GL_PROXY_TEXTURE_CUBE_MAP_ARB); } @@ -297,9 +296,6 @@ get_proxy_target(GLenum target) case GL_TEXTURE_2D: case GL_PROXY_TEXTURE_2D: return GL_PROXY_TEXTURE_2D; - case GL_TEXTURE_3D: - case GL_PROXY_TEXTURE_3D: - return GL_PROXY_TEXTURE_3D; case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB: case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB: case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB: @@ -339,10 +335,6 @@ _mesa_select_tex_object(struct gl_context *ctx, return ctx->Texture.Unit.CurrentTex[TEXTURE_2D_INDEX]; case GL_PROXY_TEXTURE_2D: return ctx->Texture.ProxyTex[TEXTURE_2D_INDEX]; - case GL_TEXTURE_3D: - return ctx->Texture.Unit.CurrentTex[TEXTURE_3D_INDEX]; - case GL_PROXY_TEXTURE_3D: - return ctx->Texture.ProxyTex[TEXTURE_3D_INDEX]; default: _mesa_problem(NULL, "bad target in _mesa_select_tex_object()"); return NULL; @@ -432,11 +424,6 @@ _mesa_get_proxy_tex_image(struct gl_context *ctx, GLenum target, GLint level) return NULL; texIndex = TEXTURE_2D_INDEX; break; - case GL_PROXY_TEXTURE_3D: - if (level >= ctx->Const.Max3DTextureLevels) - return NULL; - texIndex = TEXTURE_3D_INDEX; - break; case GL_PROXY_TEXTURE_CUBE_MAP: if (level >= ctx->Const.MaxCubeTextureLevels) return NULL; @@ -481,9 +468,6 @@ _mesa_max_texture_levels(struct gl_context *ctx, GLenum target) case GL_TEXTURE_2D: case GL_PROXY_TEXTURE_2D: return ctx->Const.MaxTextureLevels; - case GL_TEXTURE_3D: - case GL_PROXY_TEXTURE_3D: - return ctx->Const.Max3DTextureLevels; case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB: case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB: case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB: @@ -520,9 +504,6 @@ _mesa_get_texture_dimensions(GLenum target) case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: return 2; - case GL_TEXTURE_3D: - case GL_PROXY_TEXTURE_3D: - return 3; default: _mesa_problem(NULL, "invalid target 0x%x in get_texture_dimensions()", target); @@ -683,13 +664,6 @@ _mesa_init_teximage_fields(struct gl_context *ctx, img->Depth2 = 1; img->DepthLog2 = 0; break; - case GL_TEXTURE_3D: - case GL_PROXY_TEXTURE_3D: - img->Height2 = height - 2 * border; /* == 1 << img->HeightLog2; */ - img->HeightLog2 = _mesa_logbase2(img->Height2); - img->Depth2 = depth - 2 * border; /* == 1 << img->DepthLog2; */ - img->DepthLog2 = _mesa_logbase2(img->Depth2); - break; default: _mesa_problem(NULL, "invalid target 0x%x in _mesa_init_teximage_fields()", target); @@ -760,10 +734,8 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, return GL_FALSE; if (level >= ctx->Const.MaxTextureLevels) return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; - } + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) + return GL_FALSE; return GL_TRUE; case GL_PROXY_TEXTURE_2D: @@ -774,32 +746,10 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, return GL_FALSE; if (level >= ctx->Const.MaxTextureLevels) return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; - if (height > 0 && !_mesa_is_pow_two(height - 2 * border)) - return GL_FALSE; - } - return GL_TRUE; - - case GL_PROXY_TEXTURE_3D: - maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1); - if (width < 2 * border || width > 2 * border + maxSize) + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) + if (height > 0 && !_mesa_is_pow_two(height - 2 * border)) return GL_FALSE; - if (depth < 2 * border || depth > 2 * border + maxSize) - return GL_FALSE; - if (level >= ctx->Const.Max3DTextureLevels) - return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; - if (height > 0 && !_mesa_is_pow_two(height - 2 * border)) - return GL_FALSE; - if (depth > 0 && !_mesa_is_pow_two(depth - 2 * border)) - return GL_FALSE; - } return GL_TRUE; case GL_PROXY_TEXTURE_CUBE_MAP_ARB: @@ -810,12 +760,10 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, return GL_FALSE; if (level >= ctx->Const.MaxCubeTextureLevels) return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; - if (height > 0 && !_mesa_is_pow_two(height - 2 * border)) - return GL_FALSE; - } + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) + return GL_FALSE; + if (height > 0 && !_mesa_is_pow_two(height - 2 * border)) + return GL_FALSE; return GL_TRUE; default: @@ -873,14 +821,6 @@ legal_teximage_target(struct gl_context *ctx, GLuint dims, GLenum target) default: return GL_FALSE; } - case 3: - switch (target) { - case GL_TEXTURE_3D: - case GL_PROXY_TEXTURE_3D: - return GL_TRUE; - default: - return GL_FALSE; - } default: _mesa_problem(ctx, "invalid dims=%u in legal_teximage_target()", dims); return GL_FALSE; @@ -914,13 +854,6 @@ legal_texsubimage_target(struct gl_context *ctx, GLuint dims, GLenum target) default: return GL_FALSE; } - case 3: - switch (target) { - case GL_TEXTURE_3D: - return GL_TRUE; - default: - return GL_FALSE; - } default: _mesa_problem(ctx, "invalid dims=%u in legal_texsubimage_target()", dims); @@ -1243,16 +1176,6 @@ subtexture_error_check2( struct gl_context *ctx, GLuint dimensions, return GL_TRUE; } } - if (dimensions > 2) { - if (zoffset < -((GLint)destTex->Border)) { - _mesa_error(ctx, GL_INVALID_VALUE, "glTexSubImage3D(zoffset)"); - return GL_TRUE; - } - if (zoffset + depth > (GLint) (destTex->Depth + destTex->Border)) { - _mesa_error(ctx, GL_INVALID_VALUE, "glTexSubImage3D(zoffset+depth)"); - return GL_TRUE; - } - } if (ctx->VersionMajor >= 3 || ctx->Extensions.EXT_texture_integer) { /* both source and dest must be integer-valued, or neither */ @@ -1761,7 +1684,6 @@ teximage(struct gl_context *ctx, GLuint dims, border, internalFormat, texFormat); /* Give the texture to the driver. may be null. */ - ASSERT(ctx->Driver.TexImage3D); switch (dims) { case 1: ctx->Driver.TexImage1D(ctx, texImage, internalFormat, @@ -1773,11 +1695,6 @@ teximage(struct gl_context *ctx, GLuint dims, width, height, border, format, type, pixels, unpack); break; - case 3: - ctx->Driver.TexImage3D(ctx, texImage, internalFormat, - width, height, depth, border, format, - type, pixels, unpack); - break; default: _mesa_problem(ctx, "invalid dims=%u in teximage()", dims); } @@ -1822,33 +1739,6 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat, } -/* - * Called by the API or display list executor. - * Note that width and height include the border. - */ -void GLAPIENTRY -_mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat, - GLsizei width, GLsizei height, GLsizei depth, - GLint border, GLenum format, GLenum type, - const GLvoid *pixels ) -{ - GET_CURRENT_CONTEXT(ctx); - teximage(ctx, 3, target, level, internalFormat, width, height, depth, - border, format, type, pixels); -} - - -void GLAPIENTRY -_mesa_TexImage3DEXT( GLenum target, GLint level, GLenum internalFormat, - GLsizei width, GLsizei height, GLsizei depth, - GLint border, GLenum format, GLenum type, - const GLvoid *pixels ) -{ - _mesa_TexImage3D(target, level, (GLint) internalFormat, width, height, - depth, border, format, type, pixels); -} - - /** * Implement all the glTexSubImage1/2/3D() functions. */ @@ -1922,12 +1812,6 @@ texsubimage(struct gl_context *ctx, GLuint dims, GLenum target, GLint level, xoffset, yoffset, width, height, format, type, pixels, &ctx->Unpack); break; - case 3: - ctx->Driver.TexSubImage3D(ctx, texImage, - xoffset, yoffset, zoffset, - width, height, depth, - format, type, pixels, &ctx->Unpack); - break; default: _mesa_problem(ctx, "unexpected dims in subteximage()"); } @@ -1969,22 +1853,6 @@ _mesa_TexSubImage2D( GLenum target, GLint level, -void GLAPIENTRY -_mesa_TexSubImage3D( GLenum target, GLint level, - GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth, - GLenum format, GLenum type, - const GLvoid *pixels ) -{ - GET_CURRENT_CONTEXT(ctx); - texsubimage(ctx, 3, target, level, - xoffset, yoffset, zoffset, - width, height, depth, - format, type, pixels); -} - - - /** * For glCopyTexSubImage, return the source renderbuffer to copy texel data * from. This depends on whether the texture contains color or depth values. @@ -2193,11 +2061,6 @@ copytexsubimage(struct gl_context *ctx, GLuint dims, GLenum target, GLint level, ctx->Driver.CopyTexSubImage2D(ctx, texImage, xoffset, yoffset, srcRb, x, y, width, height); break; - case 3: - ctx->Driver.CopyTexSubImage3D(ctx, texImage, - xoffset, yoffset, zoffset, - srcRb, x, y, width, height); - break; default: _mesa_problem(ctx, "bad dims in copytexsubimage()"); } @@ -2229,15 +2092,3 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level, copytexsubimage(ctx, 2, target, level, xoffset, yoffset, 0, x, y, width, height); } - - - -void GLAPIENTRY -_mesa_CopyTexSubImage3D( GLenum target, GLint level, - GLint xoffset, GLint yoffset, GLint zoffset, - GLint x, GLint y, GLsizei width, GLsizei height ) -{ - GET_CURRENT_CONTEXT(ctx); - copytexsubimage(ctx, 3, target, level, xoffset, yoffset, zoffset, - x, y, width, height); -} diff --git a/reactos/dll/opengl/mesa/main/teximage.h b/reactos/dll/opengl/mesa/main/teximage.h index 776e3b80478..c22171297dc 100644 --- a/reactos/dll/opengl/mesa/main/teximage.h +++ b/reactos/dll/opengl/mesa/main/teximage.h @@ -164,18 +164,6 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, const GLvoid *pixels ); -extern void GLAPIENTRY -_mesa_TexImage3D( GLenum target, GLint level, GLint internalformat, - GLsizei width, GLsizei height, GLsizei depth, GLint border, - GLenum format, GLenum type, const GLvoid *pixels ); - - -extern void GLAPIENTRY -_mesa_TexImage3DEXT( GLenum target, GLint level, GLenum internalformat, - GLsizei width, GLsizei height, GLsizei depth, - GLint border, GLenum format, GLenum type, - const GLvoid *pixels ); - extern void GLAPIENTRY _mesa_TexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, @@ -191,14 +179,6 @@ _mesa_TexSubImage2D( GLenum target, GLint level, const GLvoid *pixels ); -extern void GLAPIENTRY -_mesa_TexSubImage3D( GLenum target, GLint level, - GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth, - GLenum format, GLenum type, - const GLvoid *pixels ); - - extern void GLAPIENTRY _mesa_CopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ); @@ -220,12 +200,6 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ); - -extern void GLAPIENTRY -_mesa_CopyTexSubImage3D( GLenum target, GLint level, - GLint xoffset, GLint yoffset, GLint zoffset, - GLint x, GLint y, GLsizei width, GLsizei height ); - /*@}*/ #endif diff --git a/reactos/dll/opengl/mesa/main/texobj.c b/reactos/dll/opengl/mesa/main/texobj.c index b2a062d3faf..a0c7c97f869 100644 --- a/reactos/dll/opengl/mesa/main/texobj.c +++ b/reactos/dll/opengl/mesa/main/texobj.c @@ -216,7 +216,6 @@ valid_texture_object(const struct gl_texture_object *tex) case 0: case GL_TEXTURE_1D: case GL_TEXTURE_2D: - case GL_TEXTURE_3D: case GL_TEXTURE_CUBE_MAP_ARB: return GL_TRUE; case 0x99: @@ -365,12 +364,6 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx, t->Image[0][baseLevel]->HeightLog2); maxLevels = ctx->Const.MaxTextureLevels; } - else if (t->Target == GL_TEXTURE_3D) { - GLint max = MAX2(t->Image[0][baseLevel]->WidthLog2, - t->Image[0][baseLevel]->HeightLog2); - maxLog2 = MAX2(max, (GLint)(t->Image[0][baseLevel]->DepthLog2)); - maxLevels = ctx->Const.Max3DTextureLevels; - } else if (t->Target == GL_TEXTURE_CUBE_MAP_ARB) { maxLog2 = MAX2(t->Image[0][baseLevel]->WidthLog2, t->Image[0][baseLevel]->HeightLog2); @@ -503,49 +496,6 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx, } } } - else if (t->Target == GL_TEXTURE_3D) { - /* Test 3-D mipmaps */ - GLuint width = t->Image[0][baseLevel]->Width2; - GLuint height = t->Image[0][baseLevel]->Height2; - GLuint depth = t->Image[0][baseLevel]->Depth2; - for (i = baseLevel + 1; i < maxLevels; i++) { - if (width > 1) { - width /= 2; - } - if (height > 1) { - height /= 2; - } - if (depth > 1) { - depth /= 2; - } - if (i >= minLevel && i <= maxLevel) { - const struct gl_texture_image *img = t->Image[0][i]; - if (!img) { - incomplete(t, "3D Image[%d] is missing", i); - return; - } - if (img->_BaseFormat == GL_DEPTH_COMPONENT) { - incomplete(t, "GL_DEPTH_COMPONENT only works with 1/2D tex"); - return; - } - if (img->Width2 != width) { - incomplete(t, "3D Image[%d] bad width %u", i, img->Width2); - return; - } - if (img->Height2 != height) { - incomplete(t, "3D Image[%d] bad height %u", i, img->Height2); - return; - } - if (img->Depth2 != depth) { - incomplete(t, "3D Image[%d] bad depth %u", i, img->Depth2); - return; - } - } - if (width == 1 && height == 1 && depth == 1) { - return; /* found smallest needed mipmap, all done! */ - } - } - } else if (t->Target == GL_TEXTURE_CUBE_MAP_ARB) { /* make sure 6 cube faces are consistant */ GLuint width = t->Image[0][baseLevel]->Width2; @@ -863,8 +813,6 @@ target_enum_to_index(GLenum target) return TEXTURE_1D_INDEX; case GL_TEXTURE_2D: return TEXTURE_2D_INDEX; - case GL_TEXTURE_3D: - return TEXTURE_3D_INDEX; case GL_TEXTURE_CUBE_MAP_ARB: return TEXTURE_CUBE_INDEX; default: diff --git a/reactos/dll/opengl/mesa/main/texparam.c b/reactos/dll/opengl/mesa/main/texparam.c index 13cf0b793b3..8109e553f4e 100644 --- a/reactos/dll/opengl/mesa/main/texparam.c +++ b/reactos/dll/opengl/mesa/main/texparam.c @@ -71,8 +71,6 @@ get_texobj(struct gl_context *ctx, GLenum target, GLboolean get) return texUnit->CurrentTex[TEXTURE_1D_INDEX]; case GL_TEXTURE_2D: return texUnit->CurrentTex[TEXTURE_2D_INDEX]; - case GL_TEXTURE_3D: - return texUnit->CurrentTex[TEXTURE_3D_INDEX]; case GL_TEXTURE_CUBE_MAP: if (ctx->Extensions.ARB_texture_cube_map) { return texUnit->CurrentTex[TEXTURE_CUBE_INDEX]; diff --git a/reactos/dll/opengl/mesa/main/texstate.c b/reactos/dll/opengl/mesa/main/texstate.c index 48d32b82bc6..ffe8ec13feb 100644 --- a/reactos/dll/opengl/mesa/main/texstate.c +++ b/reactos/dll/opengl/mesa/main/texstate.c @@ -502,7 +502,6 @@ alloc_proxy_textures( struct gl_context *ctx ) */ static const GLenum targets[] = { GL_TEXTURE_CUBE_MAP_ARB, - GL_TEXTURE_3D, GL_TEXTURE_2D, GL_TEXTURE_1D, }; diff --git a/reactos/dll/opengl/mesa/main/texstorage.c b/reactos/dll/opengl/mesa/main/texstorage.c index 1de2f71fa73..0af95d076ca 100644 --- a/reactos/dll/opengl/mesa/main/texstorage.c +++ b/reactos/dll/opengl/mesa/main/texstorage.c @@ -58,14 +58,6 @@ legal_texobj_target(struct gl_context *ctx, GLuint dims, GLenum target) default: return GL_FALSE; } - case 3: - switch (target) { - case GL_TEXTURE_3D: - case GL_PROXY_TEXTURE_3D: - return GL_TRUE; - default: - return GL_FALSE; - } default: _mesa_problem(ctx, "invalid dims=%u in legal_texobj_target()", dims); return GL_FALSE; diff --git a/reactos/dll/opengl/mesa/main/texstore.c b/reactos/dll/opengl/mesa/main/texstore.c index 43b5b45ef18..77747dc3586 100644 --- a/reactos/dll/opengl/mesa/main/texstore.c +++ b/reactos/dll/opengl/mesa/main/texstore.c @@ -39,7 +39,6 @@ * code: * ctx->Driver.TexImage1D = _mesa_store_teximage1d; * ctx->Driver.TexImage2D = _mesa_store_teximage2d; - * ctx->Driver.TexImage3D = _mesa_store_teximage3d; * etc... * * Texture image processing is actually kind of complicated. We have to do: @@ -3159,9 +3158,6 @@ store_texsubimage(struct gl_context *ctx, case GL_TEXTURE_1D: dims = 1; break; - case GL_TEXTURE_3D: - dims = 3; - break; default: dims = 2; } @@ -3183,13 +3179,6 @@ store_texsubimage(struct gl_context *ctx, assert(yoffset == 0); assert(zoffset == 0); break; - case GL_TEXTURE_3D: - /* we'll store 3D images as a series of slices */ - numSlices = depth; - sliceOffset = zoffset; - srcImageStride = _mesa_image_image_stride(packing, width, height, - format, type); - break; default: _mesa_warning(ctx, "Unexpected target 0x%x in store_texsubimage()", target); return; @@ -3287,34 +3276,6 @@ _mesa_store_teximage2d(struct gl_context *ctx, -/** - * This is the fallback for Driver.TexImage3D(). - */ -void -_mesa_store_teximage3d(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, - GLenum format, GLenum type, const void *pixels, - const struct gl_pixelstore_attrib *packing) -{ - if (width == 0 || height == 0 || depth == 0) - return; - - /* allocate storage for texture data */ - if (!ctx->Driver.AllocTextureImageBuffer(ctx, texImage, texImage->TexFormat, - width, height, depth)) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage3D"); - return; - } - - store_texsubimage(ctx, texImage, - 0, 0, 0, width, height, depth, - format, type, pixels, packing, "glTexImage3D"); -} - - - /* * This is the fallback for Driver.TexSubImage1D(). @@ -3348,20 +3309,3 @@ _mesa_store_texsubimage2d(struct gl_context *ctx, xoffset, yoffset, 0, width, height, 1, format, type, pixels, packing, "glTexSubImage2D"); } - - -/* - * This is the fallback for Driver.TexSubImage3D(). - */ -void -_mesa_store_texsubimage3d(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint xoffset, GLint yoffset, GLint zoffset, - GLint width, GLint height, GLint depth, - GLenum format, GLenum type, const void *pixels, - const struct gl_pixelstore_attrib *packing) -{ - store_texsubimage(ctx, texImage, - xoffset, yoffset, zoffset, width, height, depth, - format, type, pixels, packing, "glTexSubImage3D"); -} diff --git a/reactos/dll/opengl/mesa/main/texstore.h b/reactos/dll/opengl/mesa/main/texstore.h index 42067ddcc25..07f20165b67 100644 --- a/reactos/dll/opengl/mesa/main/texstore.h +++ b/reactos/dll/opengl/mesa/main/texstore.h @@ -107,15 +107,6 @@ _mesa_store_teximage2d(struct gl_context *ctx, const struct gl_pixelstore_attrib *packing); -extern void -_mesa_store_teximage3d(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, - GLenum format, GLenum type, const GLvoid *pixels, - const struct gl_pixelstore_attrib *packing); - - extern void _mesa_store_texsubimage1d(struct gl_context *ctx, struct gl_texture_image *texImage, @@ -133,13 +124,4 @@ _mesa_store_texsubimage2d(struct gl_context *ctx, const struct gl_pixelstore_attrib *packing); -extern void -_mesa_store_texsubimage3d(struct gl_context *ctx, - struct gl_texture_image *texImage, - GLint xoffset, GLint yoffset, GLint zoffset, - GLint width, GLint height, GLint depth, - GLenum format, GLenum type, const GLvoid *pixels, - const struct gl_pixelstore_attrib *packing); - - #endif diff --git a/reactos/dll/opengl/mesa/main/version.c b/reactos/dll/opengl/mesa/main/version.c index 7520274ba7d..19b10712ca1 100644 --- a/reactos/dll/opengl/mesa/main/version.c +++ b/reactos/dll/opengl/mesa/main/version.c @@ -75,7 +75,6 @@ compute_version(struct gl_context *ctx) ctx->Extensions.EXT_shadow_funcs); const GLboolean ver_2_0 = (ver_1_5 && ctx->Extensions.ARB_point_sprite && - ctx->Extensions.ARB_texture_non_power_of_two && ctx->Extensions.EXT_blend_equation_separate); const GLboolean ver_2_1 = (ver_2_0); const GLboolean ver_3_0 = (ver_2_1 && diff --git a/reactos/dll/opengl/mesa/swrast/s_texfilter.c b/reactos/dll/opengl/mesa/swrast/s_texfilter.c index 191fe4d98bc..f84396b53ca 100644 --- a/reactos/dll/opengl/mesa/swrast/s_texfilter.c +++ b/reactos/dll/opengl/mesa/swrast/s_texfilter.c @@ -1665,325 +1665,6 @@ sample_lambda_2d_aniso(struct gl_context *ctx, } - -/**********************************************************************/ -/* 3-D Texture Sampling Functions */ -/**********************************************************************/ - -/** - * Return the texture sample for coordinate (s,t,r) using GL_NEAREST filter. - */ -static inline void -sample_3d_nearest(struct gl_context *ctx, - const struct gl_texture_object *tObj, - const struct gl_texture_image *img, - const GLfloat texcoord[4], - GLfloat rgba[4]) -{ - const struct swrast_texture_image *swImg = swrast_texture_image_const(img); - const GLint width = img->Width2; /* without border, power of two */ - const GLint height = img->Height2; /* without border, power of two */ - const GLint depth = img->Depth2; /* without border, power of two */ - GLint i, j, k; - (void) ctx; - - i = nearest_texel_location(tObj->Sampler.WrapS, img, width, texcoord[0]); - j = nearest_texel_location(tObj->Sampler.WrapT, img, height, texcoord[1]); - k = nearest_texel_location(tObj->Sampler.WrapR, img, depth, texcoord[2]); - - if (i < 0 || i >= (GLint) img->Width || - j < 0 || j >= (GLint) img->Height || - k < 0 || k >= (GLint) img->Depth) { - /* Need this test for GL_CLAMP_TO_BORDER mode */ - get_border_color(tObj, img, rgba); - } - else { - swImg->FetchTexel(swImg, i, j, k, rgba); - } -} - - -/** - * Return the texture sample for coordinate (s,t,r) using GL_LINEAR filter. - */ -static void -sample_3d_linear(struct gl_context *ctx, - const struct gl_texture_object *tObj, - const struct gl_texture_image *img, - const GLfloat texcoord[4], - GLfloat rgba[4]) -{ - const struct swrast_texture_image *swImg = swrast_texture_image_const(img); - const GLint width = img->Width2; - const GLint height = img->Height2; - const GLint depth = img->Depth2; - GLint i0, j0, k0, i1, j1, k1; - GLbitfield useBorderColor = 0x0; - GLfloat a, b, c; - GLfloat t000[4], t010[4], t001[4], t011[4]; - GLfloat t100[4], t110[4], t101[4], t111[4]; - - linear_texel_locations(tObj->Sampler.WrapS, img, width, texcoord[0], &i0, &i1, &a); - linear_texel_locations(tObj->Sampler.WrapT, img, height, texcoord[1], &j0, &j1, &b); - linear_texel_locations(tObj->Sampler.WrapR, img, depth, texcoord[2], &k0, &k1, &c); - - if (img->Border) { - i0 += img->Border; - i1 += img->Border; - j0 += img->Border; - j1 += img->Border; - k0 += img->Border; - k1 += img->Border; - } - else { - /* check if sampling texture border color */ - if (i0 < 0 || i0 >= width) useBorderColor |= I0BIT; - if (i1 < 0 || i1 >= width) useBorderColor |= I1BIT; - if (j0 < 0 || j0 >= height) useBorderColor |= J0BIT; - if (j1 < 0 || j1 >= height) useBorderColor |= J1BIT; - if (k0 < 0 || k0 >= depth) useBorderColor |= K0BIT; - if (k1 < 0 || k1 >= depth) useBorderColor |= K1BIT; - } - - /* Fetch texels */ - if (useBorderColor & (I0BIT | J0BIT | K0BIT)) { - get_border_color(tObj, img, t000); - } - else { - swImg->FetchTexel(swImg, i0, j0, k0, t000); - } - if (useBorderColor & (I1BIT | J0BIT | K0BIT)) { - get_border_color(tObj, img, t100); - } - else { - swImg->FetchTexel(swImg, i1, j0, k0, t100); - } - if (useBorderColor & (I0BIT | J1BIT | K0BIT)) { - get_border_color(tObj, img, t010); - } - else { - swImg->FetchTexel(swImg, i0, j1, k0, t010); - } - if (useBorderColor & (I1BIT | J1BIT | K0BIT)) { - get_border_color(tObj, img, t110); - } - else { - swImg->FetchTexel(swImg, i1, j1, k0, t110); - } - - if (useBorderColor & (I0BIT | J0BIT | K1BIT)) { - get_border_color(tObj, img, t001); - } - else { - swImg->FetchTexel(swImg, i0, j0, k1, t001); - } - if (useBorderColor & (I1BIT | J0BIT | K1BIT)) { - get_border_color(tObj, img, t101); - } - else { - swImg->FetchTexel(swImg, i1, j0, k1, t101); - } - if (useBorderColor & (I0BIT | J1BIT | K1BIT)) { - get_border_color(tObj, img, t011); - } - else { - swImg->FetchTexel(swImg, i0, j1, k1, t011); - } - if (useBorderColor & (I1BIT | J1BIT | K1BIT)) { - get_border_color(tObj, img, t111); - } - else { - swImg->FetchTexel(swImg, i1, j1, k1, t111); - } - - /* trilinear interpolation of samples */ - lerp_rgba_3d(rgba, a, b, c, t000, t100, t010, t110, t001, t101, t011, t111); -} - - -static void -sample_3d_nearest_mipmap_nearest(struct gl_context *ctx, - const struct gl_texture_object *tObj, - GLuint n, const GLfloat texcoord[][4], - const GLfloat lambda[], GLfloat rgba[][4] ) -{ - GLuint i; - for (i = 0; i < n; i++) { - GLint level = nearest_mipmap_level(tObj, lambda[i]); - sample_3d_nearest(ctx, tObj, tObj->Image[0][level], texcoord[i], rgba[i]); - } -} - - -static void -sample_3d_linear_mipmap_nearest(struct gl_context *ctx, - const struct gl_texture_object *tObj, - GLuint n, const GLfloat texcoord[][4], - const GLfloat lambda[], GLfloat rgba[][4]) -{ - GLuint i; - ASSERT(lambda != NULL); - for (i = 0; i < n; i++) { - GLint level = nearest_mipmap_level(tObj, lambda[i]); - sample_3d_linear(ctx, tObj, tObj->Image[0][level], texcoord[i], rgba[i]); - } -} - - -static void -sample_3d_nearest_mipmap_linear(struct gl_context *ctx, - const struct gl_texture_object *tObj, - GLuint n, const GLfloat texcoord[][4], - const GLfloat lambda[], GLfloat rgba[][4]) -{ - GLuint i; - ASSERT(lambda != NULL); - for (i = 0; i < n; i++) { - GLint level = linear_mipmap_level(tObj, lambda[i]); - if (level >= tObj->_MaxLevel) { - sample_3d_nearest(ctx, tObj, tObj->Image[0][tObj->_MaxLevel], - texcoord[i], rgba[i]); - } - else { - GLfloat t0[4], t1[4]; /* texels */ - const GLfloat f = FRAC(lambda[i]); - sample_3d_nearest(ctx, tObj, tObj->Image[0][level ], texcoord[i], t0); - sample_3d_nearest(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1); - lerp_rgba(rgba[i], f, t0, t1); - } - } -} - - -static void -sample_3d_linear_mipmap_linear(struct gl_context *ctx, - const struct gl_texture_object *tObj, - GLuint n, const GLfloat texcoord[][4], - const GLfloat lambda[], GLfloat rgba[][4]) -{ - GLuint i; - ASSERT(lambda != NULL); - for (i = 0; i < n; i++) { - GLint level = linear_mipmap_level(tObj, lambda[i]); - if (level >= tObj->_MaxLevel) { - sample_3d_linear(ctx, tObj, tObj->Image[0][tObj->_MaxLevel], - texcoord[i], rgba[i]); - } - else { - GLfloat t0[4], t1[4]; /* texels */ - const GLfloat f = FRAC(lambda[i]); - sample_3d_linear(ctx, tObj, tObj->Image[0][level ], texcoord[i], t0); - sample_3d_linear(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1); - lerp_rgba(rgba[i], f, t0, t1); - } - } -} - - -/** Sample 3D texture, nearest filtering for both min/magnification */ -static void -sample_nearest_3d(struct gl_context *ctx, - const struct gl_texture_object *tObj, GLuint n, - const GLfloat texcoords[][4], const GLfloat lambda[], - GLfloat rgba[][4]) -{ - GLuint i; - struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel]; - (void) lambda; - for (i = 0; i < n; i++) { - sample_3d_nearest(ctx, tObj, image, texcoords[i], rgba[i]); - } -} - - -/** Sample 3D texture, linear filtering for both min/magnification */ -static void -sample_linear_3d(struct gl_context *ctx, - const struct gl_texture_object *tObj, GLuint n, - const GLfloat texcoords[][4], - const GLfloat lambda[], GLfloat rgba[][4]) -{ - GLuint i; - struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel]; - (void) lambda; - for (i = 0; i < n; i++) { - sample_3d_linear(ctx, tObj, image, texcoords[i], rgba[i]); - } -} - - -/** Sample 3D texture, using lambda to choose between min/magnification */ -static void -sample_lambda_3d(struct gl_context *ctx, - const struct gl_texture_object *tObj, GLuint n, - const GLfloat texcoords[][4], const GLfloat lambda[], - GLfloat rgba[][4]) -{ - GLuint minStart, minEnd; /* texels with minification */ - GLuint magStart, magEnd; /* texels with magnification */ - GLuint i; - - ASSERT(lambda != NULL); - compute_min_mag_ranges(tObj, n, lambda, - &minStart, &minEnd, &magStart, &magEnd); - - if (minStart < minEnd) { - /* do the minified texels */ - GLuint m = minEnd - minStart; - switch (tObj->Sampler.MinFilter) { - case GL_NEAREST: - for (i = minStart; i < minEnd; i++) - sample_3d_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel], - texcoords[i], rgba[i]); - break; - case GL_LINEAR: - for (i = minStart; i < minEnd; i++) - sample_3d_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel], - texcoords[i], rgba[i]); - break; - case GL_NEAREST_MIPMAP_NEAREST: - sample_3d_nearest_mipmap_nearest(ctx, tObj, m, texcoords + minStart, - lambda + minStart, rgba + minStart); - break; - case GL_LINEAR_MIPMAP_NEAREST: - sample_3d_linear_mipmap_nearest(ctx, tObj, m, texcoords + minStart, - lambda + minStart, rgba + minStart); - break; - case GL_NEAREST_MIPMAP_LINEAR: - sample_3d_nearest_mipmap_linear(ctx, tObj, m, texcoords + minStart, - lambda + minStart, rgba + minStart); - break; - case GL_LINEAR_MIPMAP_LINEAR: - sample_3d_linear_mipmap_linear(ctx, tObj, m, texcoords + minStart, - lambda + minStart, rgba + minStart); - break; - default: - _mesa_problem(ctx, "Bad min filter in sample_3d_texture"); - return; - } - } - - if (magStart < magEnd) { - /* do the magnified texels */ - switch (tObj->Sampler.MagFilter) { - case GL_NEAREST: - for (i = magStart; i < magEnd; i++) - sample_3d_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel], - texcoords[i], rgba[i]); - break; - case GL_LINEAR: - for (i = magStart; i < magEnd; i++) - sample_3d_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel], - texcoords[i], rgba[i]); - break; - default: - _mesa_problem(ctx, "Bad mag filter in sample_3d_texture"); - return; - } - } -} - - /**********************************************************************/ /* Texture Cube Map Sampling Functions */ /**********************************************************************/ @@ -2461,17 +2142,6 @@ _swrast_choose_texture_sample_func( struct gl_context *ctx, return func; } - case GL_TEXTURE_3D: - if (needLambda) { - return &sample_lambda_3d; - } - else if (t->Sampler.MinFilter == GL_LINEAR) { - return &sample_linear_3d; - } - else { - ASSERT(t->Sampler.MinFilter == GL_NEAREST); - return &sample_nearest_3d; - } case GL_TEXTURE_CUBE_MAP: if (needLambda) { return &sample_lambda_cube; diff --git a/reactos/dll/opengl/mesa/swrast/s_texture.c b/reactos/dll/opengl/mesa/swrast/s_texture.c index dae83419f95..81acbe6bb90 100644 --- a/reactos/dll/opengl/mesa/swrast/s_texture.c +++ b/reactos/dll/opengl/mesa/swrast/s_texture.c @@ -203,15 +203,6 @@ _swrast_map_teximage(struct gl_context *ctx, map = swImage->Buffer; - if (texImage->TexObject->Target == GL_TEXTURE_3D) { - GLuint sliceSize = _mesa_format_image_size(texImage->TexFormat, - texImage->Width, - texImage->Height, - 1); - assert(slice < texImage->Depth); - map += slice * sliceSize; - } - /* apply x/y offset to map address */ map += stride * (y / bh) + texelSize * (x / bw); From 07b02cbbe9a383dfe8314d7f2d798b2200117adc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Tue, 17 Jun 2014 09:02:19 +0000 Subject: [PATCH 096/120] [OPENGL32/MESA] - Get rid of APPLE_vertex_array_object, ARB_vertex_array_object and APPLE_object_purgeable CORE-7499 svn path=/trunk/; revision=63608 --- .../opengl/mesa/drivers/common/driverfuncs.c | 6 - reactos/dll/opengl/mesa/drivers/common/meta.c | 24 - reactos/dll/opengl/mesa/drivers/common/meta.h | 1 - reactos/dll/opengl/mesa/main/CMakeLists.txt | 1 - reactos/dll/opengl/mesa/main/api_arrayelt.c | 33 +- reactos/dll/opengl/mesa/main/api_exec.c | 16 - reactos/dll/opengl/mesa/main/api_validate.c | 18 +- reactos/dll/opengl/mesa/main/arrayobj.c | 533 ------------------ reactos/dll/opengl/mesa/main/arrayobj.h | 85 --- reactos/dll/opengl/mesa/main/attrib.c | 100 +--- reactos/dll/opengl/mesa/main/bufferobj.c | 292 +--------- reactos/dll/opengl/mesa/main/context.c | 6 +- reactos/dll/opengl/mesa/main/dd.h | 25 - reactos/dll/opengl/mesa/main/dispatch.h | 117 ---- reactos/dll/opengl/mesa/main/dlist.c | 17 - reactos/dll/opengl/mesa/main/enable.c | 66 +-- reactos/dll/opengl/mesa/main/extensions.c | 8 - reactos/dll/opengl/mesa/main/get.c | 16 +- reactos/dll/opengl/mesa/main/getstring.c | 16 +- reactos/dll/opengl/mesa/main/mtypes.h | 48 +- reactos/dll/opengl/mesa/main/precomp.h | 1 - reactos/dll/opengl/mesa/main/state.c | 35 +- reactos/dll/opengl/mesa/main/varray.c | 119 ++-- reactos/dll/opengl/mesa/main/varray.h | 8 +- reactos/dll/opengl/mesa/main/version.c | 3 +- reactos/dll/opengl/mesa/vbo/vbo_exec_array.c | 32 +- reactos/dll/opengl/mesa/vbo/vbo_save_api.c | 5 +- 27 files changed, 198 insertions(+), 1433 deletions(-) delete mode 100644 reactos/dll/opengl/mesa/main/arrayobj.c delete mode 100644 reactos/dll/opengl/mesa/main/arrayobj.h diff --git a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c index 286aa9fe7a3..ac85009c581 100644 --- a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c +++ b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c @@ -26,7 +26,6 @@ #include "main/glheader.h" #include "main/imports.h" #include "main/accum.h" -#include "main/arrayobj.h" #include "main/context.h" #include "main/framebuffer.h" #include "main/readpix.h" @@ -147,11 +146,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver) _mesa_init_texture_barrier_functions(driver); - /* APPLE_vertex_array_object */ - driver->NewArrayObject = _mesa_new_array_object; - driver->DeleteArrayObject = _mesa_delete_array_object; - driver->BindArrayObject = NULL; - /* T&L stuff */ driver->CurrentExecPrimitive = 0; driver->CurrentSavePrimitive = 0; diff --git a/reactos/dll/opengl/mesa/drivers/common/meta.c b/reactos/dll/opengl/mesa/drivers/common/meta.c index d7d79dcf6a2..ac4a8ac6146 100644 --- a/reactos/dll/opengl/mesa/drivers/common/meta.c +++ b/reactos/dll/opengl/mesa/drivers/common/meta.c @@ -34,7 +34,6 @@ #include "main/glheader.h" #include "main/mtypes.h" #include "main/imports.h" -#include "main/arrayobj.h" #include "main/blend.h" #include "main/bufferobj.h" #include "main/buffers.h" @@ -134,10 +133,6 @@ struct save_state GLbitfield TexGenEnabled; GLuint EnvMode; /* unit[0] only */ - /** MESA_META_VERTEX */ - struct gl_array_object *ArrayObj; - struct gl_buffer_object *ArrayBufferObj; - /** MESA_META_VIEWPORT */ GLint ViewportX, ViewportY, ViewportW, ViewportH; GLclampd DepthNear, DepthFar; @@ -406,15 +401,6 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) } } - if (state & MESA_META_VERTEX) { - /* save vertex array object state */ - _mesa_reference_array_object(ctx, &save->ArrayObj, - ctx->Array.ArrayObj); - _mesa_reference_buffer_object(ctx, &save->ArrayBufferObj, - ctx->Array.ArrayBufferObj); - /* set some default state? */ - } - if (state & MESA_META_VIEWPORT) { /* save viewport state */ save->ViewportX = ctx->Viewport.X; @@ -598,16 +584,6 @@ _mesa_meta_end(struct gl_context *ctx) } } - if (state & MESA_META_VERTEX) { - /* restore vertex buffer object */ - _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, save->ArrayBufferObj->Name); - _mesa_reference_buffer_object(ctx, &save->ArrayBufferObj, NULL); - - /* restore vertex array object */ - _mesa_BindVertexArray(save->ArrayObj->Name); - _mesa_reference_array_object(ctx, &save->ArrayObj, NULL); - } - if (state & MESA_META_VIEWPORT) { if (save->ViewportX != ctx->Viewport.X || save->ViewportY != ctx->Viewport.Y || diff --git a/reactos/dll/opengl/mesa/drivers/common/meta.h b/reactos/dll/opengl/mesa/drivers/common/meta.h index 388f6aeb2ab..677ed05d3ff 100644 --- a/reactos/dll/opengl/mesa/drivers/common/meta.h +++ b/reactos/dll/opengl/mesa/drivers/common/meta.h @@ -47,7 +47,6 @@ #define MESA_META_STENCIL_TEST 0x400 #define MESA_META_TRANSFORM 0x800 /**< modelview/projection matrix state */ #define MESA_META_TEXTURE 0x1000 -#define MESA_META_VERTEX 0x2000 #define MESA_META_VIEWPORT 0x4000 #define MESA_META_CLIP 0x8000 #define MESA_META_SELECT_FEEDBACK 0x10000 diff --git a/reactos/dll/opengl/mesa/main/CMakeLists.txt b/reactos/dll/opengl/mesa/main/CMakeLists.txt index ecd653187f8..15e8651fba8 100644 --- a/reactos/dll/opengl/mesa/main/CMakeLists.txt +++ b/reactos/dll/opengl/mesa/main/CMakeLists.txt @@ -6,7 +6,6 @@ list(APPEND SOURCE api_validate.c accum.c attrib.c - arrayobj.c blend.c bufferobj.c buffers.c diff --git a/reactos/dll/opengl/mesa/main/api_arrayelt.c b/reactos/dll/opengl/mesa/main/api_arrayelt.c index 6cb6bd83a47..87b98439731 100644 --- a/reactos/dll/opengl/mesa/main/api_arrayelt.c +++ b/reactos/dll/opengl/mesa/main/api_arrayelt.c @@ -734,49 +734,48 @@ static void _ae_update_state( struct gl_context *ctx ) AEcontext *actx = AE_CONTEXT(ctx); AEarray *aa = actx->arrays; AEattrib *at = actx->attribs; - struct gl_array_object *arrayObj = ctx->Array.ArrayObj; actx->nr_vbos = 0; /* conventional vertex arrays */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) { - aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX]; aa->offset = IndexFuncs[TYPE_IDX(aa->array->Type)]; check_vbo(actx, aa->array->BufferObj); aa++; } - if (arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) { - aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_EDGEFLAG]; aa->offset = _gloffset_EdgeFlagv; check_vbo(actx, aa->array->BufferObj); aa++; } - if (arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) { - aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL]; aa->offset = NormalFuncs[TYPE_IDX(aa->array->Type)]; check_vbo(actx, aa->array->BufferObj); aa++; } - if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) { - aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0]; aa->offset = ColorFuncs[aa->array->Size-3][TYPE_IDX(aa->array->Type)]; check_vbo(actx, aa->array->BufferObj); aa++; } - if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) { - aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1]; aa->offset = SecondaryColorFuncs[TYPE_IDX(aa->array->Type)]; check_vbo(actx, aa->array->BufferObj); aa++; } - if (arrayObj->VertexAttrib[VERT_ATTRIB_FOG].Enabled) { - aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_FOG]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_FOG]; aa->offset = FogCoordFuncs[TYPE_IDX(aa->array->Type)]; check_vbo(actx, aa->array->BufferObj); aa++; } { - struct gl_client_array *attribArray = &arrayObj->VertexAttrib[VERT_ATTRIB_TEX]; + struct gl_client_array *attribArray = &ctx->Array.VertexAttrib[VERT_ATTRIB_TEX]; if (attribArray->Enabled) { /* NOTE: we use generic glVertexAttribNV functions here. * If we ever remove GL_NV_vertex_program this will have to change. @@ -793,14 +792,14 @@ static void _ae_update_state( struct gl_context *ctx ) } /* finally, vertex position */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled) { - aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_POS]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_POS].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_POS]; aa->offset = VertexFuncs[aa->array->Size-2][TYPE_IDX(aa->array->Type)]; check_vbo(actx, aa->array->BufferObj); aa++; } - check_vbo(actx, arrayObj->ElementArrayBufferObj); + check_vbo(actx, ctx->Array.ElementArrayBufferObj); ASSERT(at - actx->attribs <= VERT_ATTRIB_MAX); ASSERT(aa - actx->arrays < 32); diff --git a/reactos/dll/opengl/mesa/main/api_exec.c b/reactos/dll/opengl/mesa/main/api_exec.c index 245597cd294..d4d328d2f8c 100644 --- a/reactos/dll/opengl/mesa/main/api_exec.c +++ b/reactos/dll/opengl/mesa/main/api_exec.c @@ -308,12 +308,6 @@ _mesa_create_exec_table(void) /* glVertexAttrib*NV functions handled in api_loopback.c */ #endif - /* 273. GL_APPLE_vertex_array_object */ - SET_BindVertexArrayAPPLE(exec, _mesa_BindVertexArrayAPPLE); - SET_DeleteVertexArraysAPPLE(exec, _mesa_DeleteVertexArraysAPPLE); - SET_GenVertexArraysAPPLE(exec, _mesa_GenVertexArraysAPPLE); - SET_IsVertexArrayAPPLE(exec, _mesa_IsVertexArrayAPPLE); - /* 282. GL_NV_fragment_program */ #if FEATURE_NV_fragment_program SET_ProgramNamedParameter4fNV(exec, _mesa_ProgramNamedParameter4fNV); @@ -367,16 +361,6 @@ _mesa_create_exec_table(void) SET_FlushMappedBufferRange(exec, _mesa_FlushMappedBufferRange); #endif - /* GL_ARB_vertex_array_object */ - SET_BindVertexArray(exec, _mesa_BindVertexArray); - SET_GenVertexArrays(exec, _mesa_GenVertexArrays); - -#if FEATURE_APPLE_object_purgeable - SET_ObjectPurgeableAPPLE(exec, _mesa_ObjectPurgeableAPPLE); - SET_ObjectUnpurgeableAPPLE(exec, _mesa_ObjectUnpurgeableAPPLE); - SET_GetObjectParameterivAPPLE(exec, _mesa_GetObjectParameterivAPPLE); -#endif - /* GL_EXT_texture_integer */ SET_ClearColorIiEXT(exec, _mesa_ClearColorIiEXT); SET_ClearColorIuiEXT(exec, _mesa_ClearColorIuiEXT); diff --git a/reactos/dll/opengl/mesa/main/api_validate.c b/reactos/dll/opengl/mesa/main/api_validate.c index 03f99f6ee5f..2e57c524c39 100644 --- a/reactos/dll/opengl/mesa/main/api_validate.c +++ b/reactos/dll/opengl/mesa/main/api_validate.c @@ -101,7 +101,7 @@ check_valid_to_render(struct gl_context *ctx, const char *function) /* Draw if we have vertex positions (GL_VERTEX_ARRAY or generic * array [0]). */ - return ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled; + return ctx->Array.VertexAttrib[VERT_ATTRIB_POS].Enabled; } @@ -130,14 +130,14 @@ check_index_bounds(struct gl_context *ctx, GLsizei count, GLenum type, memset(&ib, 0, sizeof(ib)); ib.type = type; ib.ptr = indices; - ib.obj = ctx->Array.ArrayObj->ElementArrayBufferObj; + ib.obj = ctx->Array.ElementArrayBufferObj; vbo_get_minmax_index(ctx, &prim, &ib, &min, &max); - if (max >= ctx->Array.ArrayObj->_MaxElement) { + if (max >= ctx->Array._MaxElement) { /* the max element is out of bounds of one or more enabled arrays */ _mesa_warning(ctx, "glDrawElements() index=%u is out of bounds (max=%u)", - max, ctx->Array.ArrayObj->_MaxElement); + max, ctx->Array._MaxElement); return GL_FALSE; } @@ -197,10 +197,10 @@ _mesa_validate_DrawElements(struct gl_context *ctx, return GL_FALSE; /* Vertex buffer object tests */ - if (_mesa_is_bufferobj(ctx->Array.ArrayObj->ElementArrayBufferObj)) { + if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) { /* use indices in the buffer object */ /* make sure count doesn't go outside buffer bounds */ - if (index_bytes(type, count) > ctx->Array.ArrayObj->ElementArrayBufferObj->Size) { + if (index_bytes(type, count) > ctx->Array.ElementArrayBufferObj->Size) { _mesa_warning(ctx, "glDrawElements index out of buffer bounds"); return GL_FALSE; } @@ -258,10 +258,10 @@ _mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode, return GL_FALSE; /* Vertex buffer object tests */ - if (_mesa_is_bufferobj(ctx->Array.ArrayObj->ElementArrayBufferObj)) { + if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) { /* use indices in the buffer object */ /* make sure count doesn't go outside buffer bounds */ - if (index_bytes(type, count) > ctx->Array.ArrayObj->ElementArrayBufferObj->Size) { + if (index_bytes(type, count) > ctx->Array.ElementArrayBufferObj->Size) { _mesa_warning(ctx, "glDrawRangeElements index out of buffer bounds"); return GL_FALSE; } @@ -305,7 +305,7 @@ _mesa_validate_DrawArrays(struct gl_context *ctx, return GL_FALSE; if (ctx->Const.CheckArrayBounds) { - if (start + count > (GLint) ctx->Array.ArrayObj->_MaxElement) + if (start + count > (GLint) ctx->Array._MaxElement) return GL_FALSE; } diff --git a/reactos/dll/opengl/mesa/main/arrayobj.c b/reactos/dll/opengl/mesa/main/arrayobj.c deleted file mode 100644 index 258d58eae31..00000000000 --- a/reactos/dll/opengl/mesa/main/arrayobj.c +++ /dev/null @@ -1,533 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 7.6 - * - * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. - * (C) Copyright IBM Corporation 2006 - * Copyright (C) 2009 VMware, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL OR IBM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - - -/** - * \file arrayobj.c - * Functions for the GL_APPLE_vertex_array_object extension. - * - * \todo - * The code in this file borrows a lot from bufferobj.c. There's a certain - * amount of cruft left over from that origin that may be unnecessary. - * - * \author Ian Romanick - * \author Brian Paul - */ - -#include - -/** - * Look up the array object for the given ID. - * - * \returns - * Either a pointer to the array object with the specified ID or \c NULL for - * a non-existent ID. The spec defines ID 0 as being technically - * non-existent. - */ - -static inline struct gl_array_object * -lookup_arrayobj(struct gl_context *ctx, GLuint id) -{ - if (id == 0) - return NULL; - else - return (struct gl_array_object *) - _mesa_HashLookup(ctx->Array.Objects, id); -} - - -/** - * For all the vertex arrays in the array object, unbind any pointers - * to any buffer objects (VBOs). - * This is done just prior to array object destruction. - */ -static void -unbind_array_object_vbos(struct gl_context *ctx, struct gl_array_object *obj) -{ - GLuint i; - - for (i = 0; i < Elements(obj->VertexAttrib); i++) - _mesa_reference_buffer_object(ctx, &obj->VertexAttrib[i].BufferObj, NULL); -} - - -/** - * Allocate and initialize a new vertex array object. - * - * This function is intended to be called via - * \c dd_function_table::NewArrayObject. - */ -struct gl_array_object * -_mesa_new_array_object( struct gl_context *ctx, GLuint name ) -{ - struct gl_array_object *obj = CALLOC_STRUCT(gl_array_object); - if (obj) - _mesa_initialize_array_object(ctx, obj, name); - return obj; -} - - -/** - * Delete an array object. - * - * This function is intended to be called via - * \c dd_function_table::DeleteArrayObject. - */ -void -_mesa_delete_array_object( struct gl_context *ctx, struct gl_array_object *obj ) -{ - (void) ctx; - unbind_array_object_vbos(ctx, obj); - _mesa_reference_buffer_object(ctx, &obj->ElementArrayBufferObj, NULL); - _glthread_DESTROY_MUTEX(obj->Mutex); - free(obj); -} - - -/** - * Set ptr to arrayObj w/ reference counting. - */ -void -_mesa_reference_array_object(struct gl_context *ctx, - struct gl_array_object **ptr, - struct gl_array_object *arrayObj) -{ - if (*ptr == arrayObj) - return; - - if (*ptr) { - /* Unreference the old array object */ - GLboolean deleteFlag = GL_FALSE; - struct gl_array_object *oldObj = *ptr; - - _glthread_LOCK_MUTEX(oldObj->Mutex); - ASSERT(oldObj->RefCount > 0); - oldObj->RefCount--; -#if 0 - printf("ArrayObj %p %d DECR to %d\n", - (void *) oldObj, oldObj->Name, oldObj->RefCount); -#endif - deleteFlag = (oldObj->RefCount == 0); - _glthread_UNLOCK_MUTEX(oldObj->Mutex); - - if (deleteFlag) { - ASSERT(ctx->Driver.DeleteArrayObject); - ctx->Driver.DeleteArrayObject(ctx, oldObj); - } - - *ptr = NULL; - } - ASSERT(!*ptr); - - if (arrayObj) { - /* reference new array object */ - _glthread_LOCK_MUTEX(arrayObj->Mutex); - if (arrayObj->RefCount == 0) { - /* this array's being deleted (look just above) */ - /* Not sure this can every really happen. Warn if it does. */ - _mesa_problem(NULL, "referencing deleted array object"); - *ptr = NULL; - } - else { - arrayObj->RefCount++; -#if 0 - printf("ArrayObj %p %d INCR to %d\n", - (void *) arrayObj, arrayObj->Name, arrayObj->RefCount); -#endif - *ptr = arrayObj; - } - _glthread_UNLOCK_MUTEX(arrayObj->Mutex); - } -} - - - -static void -init_array(struct gl_context *ctx, - struct gl_client_array *array, GLint size, GLint type) -{ - array->Size = size; - array->Type = type; - array->Stride = 0; - array->StrideB = 0; - array->Ptr = NULL; - array->Enabled = GL_FALSE; - array->Normalized = GL_FALSE; - array->Integer = GL_FALSE; - array->_ElementSize = size * _mesa_sizeof_type(type); - /* Vertex array buffers */ - _mesa_reference_buffer_object(ctx, &array->BufferObj, - ctx->Shared->NullBufferObj); -} - - -/** - * Initialize a gl_array_object's arrays. - */ -void -_mesa_initialize_array_object( struct gl_context *ctx, - struct gl_array_object *obj, - GLuint name ) -{ - GLuint i; - - obj->Name = name; - - _glthread_INIT_MUTEX(obj->Mutex); - obj->RefCount = 1; - - /* Init the individual arrays */ - for (i = 0; i < Elements(obj->VertexAttrib); i++) { - switch (i) { - case VERT_ATTRIB_WEIGHT: - init_array(ctx, &obj->VertexAttrib[VERT_ATTRIB_WEIGHT], 1, GL_FLOAT); - break; - case VERT_ATTRIB_NORMAL: - init_array(ctx, &obj->VertexAttrib[VERT_ATTRIB_NORMAL], 3, GL_FLOAT); - break; - case VERT_ATTRIB_COLOR1: - init_array(ctx, &obj->VertexAttrib[VERT_ATTRIB_COLOR1], 3, GL_FLOAT); - break; - case VERT_ATTRIB_FOG: - init_array(ctx, &obj->VertexAttrib[VERT_ATTRIB_FOG], 1, GL_FLOAT); - break; - case VERT_ATTRIB_COLOR_INDEX: - init_array(ctx, &obj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX], 1, GL_FLOAT); - break; - case VERT_ATTRIB_EDGEFLAG: - init_array(ctx, &obj->VertexAttrib[VERT_ATTRIB_EDGEFLAG], 1, GL_BOOL); - break; -#if FEATURE_point_size_array - case VERT_ATTRIB_POINT_SIZE: - init_array(ctx, &obj->VertexAttrib[VERT_ATTRIB_POINT_SIZE], 1, GL_FLOAT); - break; -#endif - default: - init_array(ctx, &obj->VertexAttrib[i], 4, GL_FLOAT); - break; - } - } - - _mesa_reference_buffer_object(ctx, &obj->ElementArrayBufferObj, - ctx->Shared->NullBufferObj); -} - - -/** - * Add the given array object to the array object pool. - */ -static void -save_array_object( struct gl_context *ctx, struct gl_array_object *obj ) -{ - if (obj->Name > 0) { - /* insert into hash table */ - _mesa_HashInsert(ctx->Array.Objects, obj->Name, obj); - } -} - - -/** - * Remove the given array object from the array object pool. - * Do not deallocate the array object though. - */ -static void -remove_array_object( struct gl_context *ctx, struct gl_array_object *obj ) -{ - if (obj->Name > 0) { - /* remove from hash table */ - _mesa_HashRemove(ctx->Array.Objects, obj->Name); - } -} - - - -/** - * Helper for update_arrays(). - * \return min(current min, array->_MaxElement). - */ -static GLuint -update_min(GLuint min, struct gl_client_array *array) -{ - assert(array->Enabled); - _mesa_update_array_max_element(array); - return MIN2(min, array->_MaxElement); -} - - -/** - * Examine vertex arrays to update the gl_array_object::_MaxElement field. - */ -void -_mesa_update_array_object_max_element(struct gl_context *ctx, - struct gl_array_object *arrayObj) -{ - GLbitfield64 enabled = arrayObj->_Enabled; - GLuint min = ~0u; - - while (enabled) { - GLint attrib = _mesa_ffsll(enabled) - 1; - enabled &= ~BITFIELD64_BIT(attrib); - min = update_min(min, &arrayObj->VertexAttrib[attrib]); - } - - /* _MaxElement is one past the last legal array element */ - arrayObj->_MaxElement = min; -} - - -/**********************************************************************/ -/* API Functions */ -/**********************************************************************/ - - -/** - * Helper for _mesa_BindVertexArray() and _mesa_BindVertexArrayAPPLE(). - * \param genRequired specifies behavour when id was not generated with - * glGenVertexArrays(). - */ -static void -bind_vertex_array(struct gl_context *ctx, GLuint id, GLboolean genRequired) -{ - struct gl_array_object * const oldObj = ctx->Array.ArrayObj; - struct gl_array_object *newObj = NULL; - ASSERT_OUTSIDE_BEGIN_END(ctx); - - ASSERT(oldObj != NULL); - - if ( oldObj->Name == id ) - return; /* rebinding the same array object- no change */ - - /* - * Get pointer to new array object (newObj) - */ - if (id == 0) { - /* The spec says there is no array object named 0, but we use - * one internally because it simplifies things. - */ - newObj = ctx->Array.DefaultArrayObj; - } - else { - /* non-default array object */ - newObj = lookup_arrayobj(ctx, id); - if (!newObj) { - if (genRequired) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glBindVertexArray(id)"); - return; - } - - /* For APPLE version, generate a new array object now */ - newObj = (*ctx->Driver.NewArrayObject)(ctx, id); - if (!newObj) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBindVertexArrayAPPLE"); - return; - } - - save_array_object(ctx, newObj); - } - - if (!newObj->_Used) { - /* The "Interactions with APPLE_vertex_array_object" section of the - * GL_ARB_vertex_array_object spec says: - * - * "The first bind call, either BindVertexArray or - * BindVertexArrayAPPLE, determines the semantic of the object." - */ - newObj->ARBsemantics = genRequired; - newObj->_Used = GL_TRUE; - } - } - - ctx->NewState |= _NEW_ARRAY; - ctx->Array.NewState |= VERT_BIT_ALL; - _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, newObj); - - /* Pass BindVertexArray call to device driver */ - if (ctx->Driver.BindArrayObject && newObj) - ctx->Driver.BindArrayObject(ctx, newObj); -} - - -/** - * ARB version of glBindVertexArray() - * This function behaves differently from glBindVertexArrayAPPLE() in - * that this function requires all ids to have been previously generated - * by glGenVertexArrays[APPLE](). - */ -void GLAPIENTRY -_mesa_BindVertexArray( GLuint id ) -{ - GET_CURRENT_CONTEXT(ctx); - bind_vertex_array(ctx, id, GL_TRUE); -} - - -/** - * Bind a new array. - * - * \todo - * The binding could be done more efficiently by comparing the non-NULL - * pointers in the old and new objects. The only arrays that are "dirty" are - * the ones that are non-NULL in either object. - */ -void GLAPIENTRY -_mesa_BindVertexArrayAPPLE( GLuint id ) -{ - GET_CURRENT_CONTEXT(ctx); - bind_vertex_array(ctx, id, GL_FALSE); -} - - -/** - * Delete a set of array objects. - * - * \param n Number of array objects to delete. - * \param ids Array of \c n array object IDs. - */ -void GLAPIENTRY -_mesa_DeleteVertexArraysAPPLE(GLsizei n, const GLuint *ids) -{ - GET_CURRENT_CONTEXT(ctx); - GLsizei i; - ASSERT_OUTSIDE_BEGIN_END(ctx); - - if (n < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteVertexArrayAPPLE(n)"); - return; - } - - for (i = 0; i < n; i++) { - struct gl_array_object *obj = lookup_arrayobj(ctx, ids[i]); - - if ( obj != NULL ) { - ASSERT( obj->Name == ids[i] ); - - /* If the array object is currently bound, the spec says "the binding - * for that object reverts to zero and the default vertex array - * becomes current." - */ - if ( obj == ctx->Array.ArrayObj ) { - CALL_BindVertexArrayAPPLE( ctx->Exec, (0) ); - } - - /* The ID is immediately freed for re-use */ - remove_array_object(ctx, obj); - - /* Unreference the array object. - * If refcount hits zero, the object will be deleted. - */ - _mesa_reference_array_object(ctx, &obj, NULL); - } - } -} - - -/** - * Generate a set of unique array object IDs and store them in \c arrays. - * Helper for _mesa_GenVertexArrays[APPLE]() functions below. - * \param n Number of IDs to generate. - * \param arrays Array of \c n locations to store the IDs. - * \param vboOnly Will arrays have to reside in VBOs? - */ -static void -gen_vertex_arrays(struct gl_context *ctx, GLsizei n, GLuint *arrays) -{ - GLuint first; - GLint i; - ASSERT_OUTSIDE_BEGIN_END(ctx); - - if (n < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glGenVertexArraysAPPLE"); - return; - } - - if (!arrays) { - return; - } - - first = _mesa_HashFindFreeKeyBlock(ctx->Array.Objects, n); - - /* Allocate new, empty array objects and return identifiers */ - for (i = 0; i < n; i++) { - struct gl_array_object *obj; - GLuint name = first + i; - - obj = (*ctx->Driver.NewArrayObject)( ctx, name ); - if (!obj) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glGenVertexArraysAPPLE"); - return; - } - save_array_object(ctx, obj); - arrays[i] = first + i; - } -} - - -/** - * ARB version of glGenVertexArrays() - * All arrays will be required to live in VBOs. - */ -void GLAPIENTRY -_mesa_GenVertexArrays(GLsizei n, GLuint *arrays) -{ - GET_CURRENT_CONTEXT(ctx); - gen_vertex_arrays(ctx, n, arrays); -} - - -/** - * APPLE version of glGenVertexArraysAPPLE() - * Arrays may live in VBOs or ordinary memory. - */ -void GLAPIENTRY -_mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *arrays) -{ - GET_CURRENT_CONTEXT(ctx); - gen_vertex_arrays(ctx, n, arrays); -} - - -/** - * Determine if ID is the name of an array object. - * - * \param id ID of the potential array object. - * \return \c GL_TRUE if \c id is the name of a array object, - * \c GL_FALSE otherwise. - */ -GLboolean GLAPIENTRY -_mesa_IsVertexArrayAPPLE( GLuint id ) -{ - struct gl_array_object * obj; - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); - - if (id == 0) - return GL_FALSE; - - obj = lookup_arrayobj(ctx, id); - - return (obj != NULL) ? GL_TRUE : GL_FALSE; -} diff --git a/reactos/dll/opengl/mesa/main/arrayobj.h b/reactos/dll/opengl/mesa/main/arrayobj.h deleted file mode 100644 index 0b5a0130370..00000000000 --- a/reactos/dll/opengl/mesa/main/arrayobj.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 7.6 - * - * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. - * (C) Copyright IBM Corporation 2006 - * Copyright (C) 2009 VMware, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL OR IBM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef ARRAYOBJ_H -#define ARRAYOBJ_H - -#include "glheader.h" - -struct gl_context; - -/** - * \file arrayobj.h - * Functions for the GL_APPLE_vertex_array_object extension. - * - * \author Ian Romanick - * \author Brian Paul - */ - -/* - * Internal functions - */ - -extern struct gl_array_object * -_mesa_new_array_object( struct gl_context *ctx, GLuint name ); - -extern void -_mesa_delete_array_object( struct gl_context *ctx, struct gl_array_object *obj ); - -extern void -_mesa_reference_array_object(struct gl_context *ctx, - struct gl_array_object **ptr, - struct gl_array_object *arrayObj); - -extern void -_mesa_initialize_array_object( struct gl_context *ctx, - struct gl_array_object *obj, GLuint name ); - - -extern void -_mesa_update_array_object_max_element(struct gl_context *ctx, - struct gl_array_object *arrayObj); - - -/* - * API functions - */ - - -void GLAPIENTRY _mesa_BindVertexArray( GLuint id ); - -void GLAPIENTRY _mesa_BindVertexArrayAPPLE( GLuint id ); - -void GLAPIENTRY _mesa_DeleteVertexArraysAPPLE(GLsizei n, const GLuint *ids); - -void GLAPIENTRY _mesa_GenVertexArrays(GLsizei n, GLuint *arrays); - -void GLAPIENTRY _mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *buffer); - -GLboolean GLAPIENTRY _mesa_IsVertexArrayAPPLE( GLuint id ); - -#endif /* ARRAYOBJ_H */ diff --git a/reactos/dll/opengl/mesa/main/attrib.c b/reactos/dll/opengl/mesa/main/attrib.c index 761831ec0da..e3881373290 100644 --- a/reactos/dll/opengl/mesa/main/attrib.c +++ b/reactos/dll/opengl/mesa/main/attrib.c @@ -1056,31 +1056,6 @@ copy_pixelstore(struct gl_context *ctx, #define GL_CLIENT_PACK_BIT (1<<20) #define GL_CLIENT_UNPACK_BIT (1<<21) -/** - * Copy gl_array_object from src to dest. - * 'dest' must be in an initialized state. - */ -static void -copy_array_object(struct gl_context *ctx, - struct gl_array_object *dest, - struct gl_array_object *src) -{ - GLuint i; - - /* skip Name */ - /* skip RefCount */ - - /* In theory must be the same anyway, but on recreate make sure it matches */ - dest->ARBsemantics = src->ARBsemantics; - - for (i = 0; i < Elements(src->VertexAttrib); i++) - _mesa_copy_client_array(ctx, &dest->VertexAttrib[i], &src->VertexAttrib[i]); - - /* _Enabled must be the same than on push */ - dest->_Enabled = src->_Enabled; - dest->_MaxElement = src->_MaxElement; -} - /** * Copy gl_array_attrib from src to dest. * 'dest' must be in an initialized state. @@ -1098,8 +1073,20 @@ copy_array_attrib(struct gl_context *ctx, /* skip NewState */ /* skip RebindArrays */ - if (!vbo_deleted) - copy_array_object(ctx, dest->ArrayObj, src->ArrayObj); + if (!vbo_deleted) + { + GLuint i; + + /* skip Name */ + /* skip RefCount */ + + for (i = 0; i < Elements(src->VertexAttrib); i++) + _mesa_copy_client_array(ctx, &dest->VertexAttrib[i], &src->VertexAttrib[i]); + + /* _Enabled must be the same than on push */ + dest->_Enabled = src->_Enabled; + dest->_MaxElement = src->_MaxElement; + } /* skip ArrayBufferObj */ /* skip ElementArrayBufferObj */ @@ -1113,17 +1100,14 @@ save_array_attrib(struct gl_context *ctx, struct gl_array_attrib *dest, struct gl_array_attrib *src) { - /* Set the Name, needed for restore, but do never overwrite. - * Needs to match value in the object hash. */ - dest->ArrayObj->Name = src->ArrayObj->Name; /* And copy all of the rest. */ copy_array_attrib(ctx, dest, src, GL_FALSE); /* Just reference them here */ _mesa_reference_buffer_object(ctx, &dest->ArrayBufferObj, src->ArrayBufferObj); - _mesa_reference_buffer_object(ctx, &dest->ArrayObj->ElementArrayBufferObj, - src->ArrayObj->ElementArrayBufferObj); + _mesa_reference_buffer_object(ctx, &dest->ElementArrayBufferObj, + src->ElementArrayBufferObj); } /** @@ -1134,29 +1118,8 @@ restore_array_attrib(struct gl_context *ctx, struct gl_array_attrib *dest, struct gl_array_attrib *src) { - /* The ARB_vertex_array_object spec says: - * - * "BindVertexArray fails and an INVALID_OPERATION error is generated - * if array is not a name returned from a previous call to - * GenVertexArrays, or if such a name has since been deleted with - * DeleteVertexArrays." - * - * Therefore popping a deleted VAO cannot magically recreate it. - * - * The semantics of objects created using APPLE_vertex_array_objects behave - * differently. These objects expect to be recreated by pop. Alas. - */ - const GLboolean arb_vao = (src->ArrayObj->Name != 0 - && src->ArrayObj->ARBsemantics); - - if (arb_vao && !_mesa_IsVertexArrayAPPLE(src->ArrayObj->Name)) - return; - - _mesa_BindVertexArrayAPPLE(src->ArrayObj->Name); - /* Restore or recreate the buffer objects by the names ... */ - if (!arb_vao - || src->ArrayBufferObj->Name == 0 + if (!src->ArrayBufferObj->Name == 0 || _mesa_IsBufferARB(src->ArrayBufferObj->Name)) { /* ... and restore its content */ copy_array_attrib(ctx, dest, src, GL_FALSE); @@ -1167,11 +1130,10 @@ restore_array_attrib(struct gl_context *ctx, copy_array_attrib(ctx, dest, src, GL_TRUE); } - if (!arb_vao - || src->ArrayObj->ElementArrayBufferObj->Name == 0 - || _mesa_IsBufferARB(src->ArrayObj->ElementArrayBufferObj->Name)) + if (src->ElementArrayBufferObj->Name == 0 + || _mesa_IsBufferARB(src->ElementArrayBufferObj->Name)) _mesa_BindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, - src->ArrayObj->ElementArrayBufferObj->Name); + src->ElementArrayBufferObj->Name); /* Better safe than sorry?! */ dest->RebindArrays = GL_TRUE; @@ -1181,20 +1143,7 @@ restore_array_attrib(struct gl_context *ctx, * FIXME: of the old ArrayObj->_Enabled and the new _Enabled. * ... just do it. */ - dest->NewState |= src->ArrayObj->_Enabled | dest->ArrayObj->_Enabled; -} - -/** - * init/alloc the fields of 'attrib'. - * Needs to the init part matching free_array_attrib_data below. - */ -static void -init_array_attrib_data(struct gl_context *ctx, - struct gl_array_attrib *attrib) -{ - /* Get a non driver gl_array_object. */ - attrib->ArrayObj = CALLOC_STRUCT( gl_array_object ); - _mesa_initialize_array_object(ctx, attrib->ArrayObj, 0); + dest->NewState |= src->_Enabled | dest->_Enabled; } /** @@ -1206,11 +1155,8 @@ static void free_array_attrib_data(struct gl_context *ctx, struct gl_array_attrib *attrib) { - /* We use a non driver array object, so don't just unref since we would - * end up using the drivers DeleteArrayObject function for deletion. */ - _mesa_delete_array_object(ctx, attrib->ArrayObj); - attrib->ArrayObj = 0; _mesa_reference_buffer_object(ctx, &attrib->ArrayBufferObj, NULL); + _mesa_free_varray_data(ctx, attrib); } @@ -1247,7 +1193,7 @@ _mesa_PushClientAttrib(GLbitfield mask) if (mask & GL_CLIENT_VERTEX_ARRAY_BIT) { struct gl_array_attrib *attr; attr = CALLOC_STRUCT( gl_array_attrib ); - init_array_attrib_data(ctx, attr); + _mesa_init_varray(ctx, attr); save_array_attrib(ctx, attr, &ctx->Array); save_attrib_data(&head, GL_CLIENT_VERTEX_ARRAY_BIT, attr); } diff --git a/reactos/dll/opengl/mesa/main/bufferobj.c b/reactos/dll/opengl/mesa/main/bufferobj.c index b237fa6a114..f4251036d23 100644 --- a/reactos/dll/opengl/mesa/main/bufferobj.c +++ b/reactos/dll/opengl/mesa/main/bufferobj.c @@ -58,7 +58,7 @@ get_buffer_target(struct gl_context *ctx, GLenum target) case GL_ARRAY_BUFFER_ARB: return &ctx->Array.ArrayBufferObj; case GL_ELEMENT_ARRAY_BUFFER_ARB: - return &ctx->Array.ArrayObj->ElementArrayBufferObj; + return &ctx->Array.ElementArrayBufferObj; default: return NULL; } @@ -658,7 +658,6 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) for (i = 0; i < n; i++) { struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, ids[i]); if (bufObj) { - struct gl_array_object *arrayObj = ctx->Array.ArrayObj; GLuint j; ASSERT(bufObj->Name == ids[i] || bufObj == &DummyBufferObject); @@ -671,14 +670,14 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) } /* unbind any vertex pointers bound to this buffer */ - for (j = 0; j < Elements(arrayObj->VertexAttrib); j++) { - unbind(ctx, &arrayObj->VertexAttrib[j].BufferObj, bufObj); + for (j = 0; j < Elements(ctx->Array.VertexAttrib); j++) { + unbind(ctx, &ctx->Array.VertexAttrib[j].BufferObj, bufObj); } if (ctx->Array.ArrayBufferObj == bufObj) { _mesa_BindBufferARB( GL_ARRAY_BUFFER_ARB, 0 ); } - if (arrayObj->ElementArrayBufferObj == bufObj) { + if (ctx->Array.ElementArrayBufferObj == bufObj) { _mesa_BindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, 0 ); } @@ -1326,286 +1325,3 @@ _mesa_FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) ctx->Driver.FlushMappedBufferRange(ctx, offset, length, bufObj); } - -#if FEATURE_APPLE_object_purgeable -static GLenum -buffer_object_purgeable(struct gl_context *ctx, GLuint name, GLenum option) -{ - struct gl_buffer_object *bufObj; - GLenum retval; - - bufObj = _mesa_lookup_bufferobj(ctx, name); - if (!bufObj) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glObjectPurgeable(name = 0x%x)", name); - return 0; - } - if (!_mesa_is_bufferobj(bufObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glObjectPurgeable(buffer 0)" ); - return 0; - } - - if (bufObj->Purgeable) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glObjectPurgeable(name = 0x%x) is already purgeable", name); - return GL_VOLATILE_APPLE; - } - - bufObj->Purgeable = GL_TRUE; - - retval = GL_VOLATILE_APPLE; - if (ctx->Driver.BufferObjectPurgeable) - retval = ctx->Driver.BufferObjectPurgeable(ctx, bufObj, option); - - return retval; -} - -static GLenum -texture_object_purgeable(struct gl_context *ctx, GLuint name, GLenum option) -{ - struct gl_texture_object *bufObj; - GLenum retval; - - bufObj = _mesa_lookup_texture(ctx, name); - if (!bufObj) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glObjectPurgeable(name = 0x%x)", name); - return 0; - } - - if (bufObj->Purgeable) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glObjectPurgeable(name = 0x%x) is already purgeable", name); - return GL_VOLATILE_APPLE; - } - - bufObj->Purgeable = GL_TRUE; - - retval = GL_VOLATILE_APPLE; - if (ctx->Driver.TextureObjectPurgeable) - retval = ctx->Driver.TextureObjectPurgeable(ctx, bufObj, option); - - return retval; -} - - -GLenum GLAPIENTRY -_mesa_ObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) -{ - GLenum retval; - - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0); - - if (name == 0) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glObjectPurgeable(name = 0x%x)", name); - return 0; - } - - switch (option) { - case GL_VOLATILE_APPLE: - case GL_RELEASED_APPLE: - /* legal */ - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, - "glObjectPurgeable(name = 0x%x) invalid option: %d", - name, option); - return 0; - } - - switch (objectType) { - case GL_TEXTURE: - retval = texture_object_purgeable(ctx, name, option); - break; - case GL_BUFFER_OBJECT_APPLE: - retval = buffer_object_purgeable(ctx, name, option); - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, - "glObjectPurgeable(name = 0x%x) invalid type: %d", - name, objectType); - return 0; - } - - /* In strict conformance to the spec, we must only return VOLATILE when - * when passed the VOLATILE option. Madness. - * - * XXX First fix the spec, then fix me. - */ - return option == GL_VOLATILE_APPLE ? GL_VOLATILE_APPLE : retval; -} - - -static GLenum -buffer_object_unpurgeable(struct gl_context *ctx, GLuint name, GLenum option) -{ - struct gl_buffer_object *bufObj; - GLenum retval; - - bufObj = _mesa_lookup_bufferobj(ctx, name); - if (!bufObj) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glObjectUnpurgeable(name = 0x%x)", name); - return 0; - } - - if (! bufObj->Purgeable) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glObjectUnpurgeable(name = 0x%x) object is " - " already \"unpurged\"", name); - return 0; - } - - bufObj->Purgeable = GL_FALSE; - - retval = option; - if (ctx->Driver.BufferObjectUnpurgeable) - retval = ctx->Driver.BufferObjectUnpurgeable(ctx, bufObj, option); - - return retval; -} - -static GLenum -texture_object_unpurgeable(struct gl_context *ctx, GLuint name, GLenum option) -{ - struct gl_texture_object *bufObj; - GLenum retval; - - bufObj = _mesa_lookup_texture(ctx, name); - if (!bufObj) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glObjectUnpurgeable(name = 0x%x)", name); - return 0; - } - - if (! bufObj->Purgeable) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glObjectUnpurgeable(name = 0x%x) object is" - " already \"unpurged\"", name); - return 0; - } - - bufObj->Purgeable = GL_FALSE; - - retval = option; - if (ctx->Driver.TextureObjectUnpurgeable) - retval = ctx->Driver.TextureObjectUnpurgeable(ctx, bufObj, option); - - return retval; -} - - -GLenum GLAPIENTRY -_mesa_ObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0); - - if (name == 0) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glObjectUnpurgeable(name = 0x%x)", name); - return 0; - } - - switch (option) { - case GL_RETAINED_APPLE: - case GL_UNDEFINED_APPLE: - /* legal */ - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, - "glObjectUnpurgeable(name = 0x%x) invalid option: %d", - name, option); - return 0; - } - - switch (objectType) { - case GL_BUFFER_OBJECT_APPLE: - return buffer_object_unpurgeable(ctx, name, option); - case GL_TEXTURE: - return texture_object_unpurgeable(ctx, name, option); - default: - _mesa_error(ctx, GL_INVALID_ENUM, - "glObjectUnpurgeable(name = 0x%x) invalid type: %d", - name, objectType); - return 0; - } -} - - -static void -get_buffer_object_parameteriv(struct gl_context *ctx, GLuint name, - GLenum pname, GLint *params) -{ - struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, name); - if (!bufObj) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glGetObjectParameteriv(name = 0x%x) invalid object", name); - return; - } - - switch (pname) { - case GL_PURGEABLE_APPLE: - *params = bufObj->Purgeable; - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, - "glGetObjectParameteriv(name = 0x%x) invalid enum: %d", - name, pname); - break; - } -} - -static void -get_texture_object_parameteriv(struct gl_context *ctx, GLuint name, - GLenum pname, GLint *params) -{ - struct gl_texture_object *texObj = _mesa_lookup_texture(ctx, name); - if (!texObj) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glObjectUnpurgeable(name = 0x%x)", name); - return; - } - - switch (pname) { - case GL_PURGEABLE_APPLE: - *params = texObj->Purgeable; - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, - "glGetObjectParameteriv(name = 0x%x) invalid enum: %d", - name, pname); - break; - } -} - - -void GLAPIENTRY -_mesa_GetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, - GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - - if (name == 0) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glGetObjectParameteriv(name = 0x%x)", name); - return; - } - - switch (objectType) { - case GL_TEXTURE: - get_texture_object_parameteriv(ctx, name, pname, params); - break; - case GL_BUFFER_OBJECT_APPLE: - get_buffer_object_parameteriv(ctx, name, pname, params); - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, - "glGetObjectParameteriv(name = 0x%x) invalid type: %d", - name, objectType); - } -} - -#endif /* FEATURE_APPLE_object_purgeable */ diff --git a/reactos/dll/opengl/mesa/main/context.c b/reactos/dll/opengl/mesa/main/context.c index 14e64c555f3..597567b6049 100644 --- a/reactos/dll/opengl/mesa/main/context.c +++ b/reactos/dll/opengl/mesa/main/context.c @@ -494,7 +494,7 @@ init_attrib_groups(struct gl_context *ctx) _mesa_init_scissor( ctx ); _mesa_init_stencil( ctx ); _mesa_init_transform( ctx ); - _mesa_init_varray( ctx ); + _mesa_init_varray(ctx, &ctx->Array); _mesa_init_viewport( ctx ); if (!_mesa_init_texture( ctx )) @@ -748,9 +748,7 @@ _mesa_free_context_data( struct gl_context *ctx ) _mesa_free_texture_data( ctx ); _mesa_free_matrix_data( ctx ); _mesa_free_viewport_data( ctx ); - _mesa_free_varray_data(ctx); - - _mesa_delete_array_object(ctx, ctx->Array.DefaultArrayObj); + _mesa_free_varray_data(ctx, &ctx->Array); _mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj, NULL); diff --git a/reactos/dll/opengl/mesa/main/dd.h b/reactos/dll/opengl/mesa/main/dd.h index 05c89781dd3..03a1a87f27c 100644 --- a/reactos/dll/opengl/mesa/main/dd.h +++ b/reactos/dll/opengl/mesa/main/dd.h @@ -563,31 +563,6 @@ struct dd_function_table { struct gl_buffer_object *obj ); /*@}*/ - /** - * \name Functions for GL_APPLE_object_purgeable - */ - /*@{*/ - /* variations on ObjectPurgeable */ - GLenum (*BufferObjectPurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option ); - GLenum (*RenderObjectPurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option ); - GLenum (*TextureObjectPurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option ); - - /* variations on ObjectUnpurgeable */ - GLenum (*BufferObjectUnpurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option ); - GLenum (*RenderObjectUnpurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option ); - GLenum (*TextureObjectUnpurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option ); - /*@}*/ - - - /** - * \name Vertex Array objects - */ - /*@{*/ - struct gl_array_object * (*NewArrayObject)(struct gl_context *ctx, GLuint id); - void (*DeleteArrayObject)(struct gl_context *ctx, struct gl_array_object *obj); - void (*BindArrayObject)(struct gl_context *ctx, struct gl_array_object *obj); - /*@}*/ - /** * \name Support for multiple T&L engines diff --git a/reactos/dll/opengl/mesa/main/dispatch.h b/reactos/dll/opengl/mesa/main/dispatch.h index 41c30e2eec7..3df758825af 100644 --- a/reactos/dll/opengl/mesa/main/dispatch.h +++ b/reactos/dll/opengl/mesa/main/dispatch.h @@ -478,8 +478,6 @@ typedef PROC _glapi_proc; #define _gloffset_GetActiveAttribARB 569 #define _gloffset_FlushMappedBufferRange 580 #define _gloffset_MapBufferRange 581 -#define _gloffset_BindVertexArray 583 -#define _gloffset_GenVertexArrays 584 #define _gloffset_TexStorage1D 685 #define _gloffset_TexStorage2D 686 #define _gloffset_TexStorage3D 687 @@ -623,10 +621,6 @@ typedef PROC _glapi_proc; #define _gloffset_PointParameteriNV 863 #define _gloffset_PointParameterivNV 864 #define _gloffset_ActiveStencilFaceEXT 865 -#define _gloffset_BindVertexArrayAPPLE 866 -#define _gloffset_DeleteVertexArraysAPPLE 867 -#define _gloffset_GenVertexArraysAPPLE 868 -#define _gloffset_IsVertexArrayAPPLE 869 #define _gloffset_GetProgramNamedParameterdvNV 870 #define _gloffset_GetProgramNamedParameterfvNV 871 #define _gloffset_ProgramNamedParameter4dNV 872 @@ -698,8 +692,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define VertexAttribDivisorARB_remap_index 171 #define FlushMappedBufferRange_remap_index 172 #define MapBufferRange_remap_index 173 -#define BindVertexArray_remap_index 175 -#define GenVertexArrays_remap_index 176 #define TexStorage1D_remap_index 277 #define TexStorage2D_remap_index 278 #define TexStorage3D_remap_index 279 @@ -844,10 +836,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define PointParameteriNV_remap_index 455 #define PointParameterivNV_remap_index 456 #define ActiveStencilFaceEXT_remap_index 457 -#define BindVertexArrayAPPLE_remap_index 458 -#define DeleteVertexArraysAPPLE_remap_index 459 -#define GenVertexArraysAPPLE_remap_index 460 -#define IsVertexArrayAPPLE_remap_index 461 #define GetProgramNamedParameterdvNV_remap_index 462 #define GetProgramNamedParameterfvNV_remap_index 463 #define ProgramNamedParameter4dNV_remap_index 464 @@ -912,8 +900,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index] #define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index] #define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index] -#define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index] -#define _gloffset_GenVertexArrays driDispatchRemapTable[GenVertexArrays_remap_index] #define _gloffset_TexStorage1D driDispatchRemapTable[TexStorage1D_remap_index] #define _gloffset_TexStorage2D driDispatchRemapTable[TexStorage2D_remap_index] #define _gloffset_TexStorage3D driDispatchRemapTable[TexStorage3D_remap_index] @@ -1057,10 +1043,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_PointParameteriNV driDispatchRemapTable[PointParameteriNV_remap_index] #define _gloffset_PointParameterivNV driDispatchRemapTable[PointParameterivNV_remap_index] #define _gloffset_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index] -#define _gloffset_BindVertexArrayAPPLE driDispatchRemapTable[BindVertexArrayAPPLE_remap_index] -#define _gloffset_DeleteVertexArraysAPPLE driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index] -#define _gloffset_GenVertexArraysAPPLE driDispatchRemapTable[GenVertexArraysAPPLE_remap_index] -#define _gloffset_IsVertexArrayAPPLE driDispatchRemapTable[IsVertexArrayAPPLE_remap_index] #define _gloffset_GetProgramNamedParameterdvNV driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index] #define _gloffset_GetProgramNamedParameterfvNV driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index] #define _gloffset_ProgramNamedParameter4dNV driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index] @@ -5577,28 +5559,6 @@ static inline void SET_MapBufferRange(struct _glapi_table *disp, GLvoid * (GLAPI SET_by_offset(disp, _gloffset_MapBufferRange, fn); } -typedef void (GLAPIENTRYP _glptr_BindVertexArray)(GLuint); -#define CALL_BindVertexArray(disp, parameters) \ - (* GET_BindVertexArray(disp)) parameters -static inline _glptr_BindVertexArray GET_BindVertexArray(struct _glapi_table *disp) { - return (_glptr_BindVertexArray) (GET_by_offset(disp, _gloffset_BindVertexArray)); -} - -static inline void SET_BindVertexArray(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) { - SET_by_offset(disp, _gloffset_BindVertexArray, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenVertexArrays)(GLsizei, GLuint *); -#define CALL_GenVertexArrays(disp, parameters) \ - (* GET_GenVertexArrays(disp)) parameters -static inline _glptr_GenVertexArrays GET_GenVertexArrays(struct _glapi_table *disp) { - return (_glptr_GenVertexArrays) (GET_by_offset(disp, _gloffset_GenVertexArrays)); -} - -static inline void SET_GenVertexArrays(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) { - SET_by_offset(disp, _gloffset_GenVertexArrays, fn); -} - typedef void (GLAPIENTRYP _glptr_TexStorage1D)(GLenum, GLsizei, GLenum, GLsizei); #define CALL_TexStorage1D(disp, parameters) \ (* GET_TexStorage1D(disp)) parameters @@ -7172,50 +7132,6 @@ static inline void SET_ActiveStencilFaceEXT(struct _glapi_table *disp, void (GLA SET_by_offset(disp, _gloffset_ActiveStencilFaceEXT, fn); } -typedef void (GLAPIENTRYP _glptr_BindVertexArrayAPPLE)(GLuint); -#define CALL_BindVertexArrayAPPLE(disp, parameters) \ - (* GET_BindVertexArrayAPPLE(disp)) parameters -static inline _glptr_BindVertexArrayAPPLE GET_BindVertexArrayAPPLE(struct _glapi_table *disp) { - return (_glptr_BindVertexArrayAPPLE) (GET_by_offset(disp, _gloffset_BindVertexArrayAPPLE)); -} - -static inline void SET_BindVertexArrayAPPLE(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) { - SET_by_offset(disp, _gloffset_BindVertexArrayAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteVertexArraysAPPLE)(GLsizei, const GLuint *); -#define CALL_DeleteVertexArraysAPPLE(disp, parameters) \ - (* GET_DeleteVertexArraysAPPLE(disp)) parameters -static inline _glptr_DeleteVertexArraysAPPLE GET_DeleteVertexArraysAPPLE(struct _glapi_table *disp) { - return (_glptr_DeleteVertexArraysAPPLE) (GET_by_offset(disp, _gloffset_DeleteVertexArraysAPPLE)); -} - -static inline void SET_DeleteVertexArraysAPPLE(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) { - SET_by_offset(disp, _gloffset_DeleteVertexArraysAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenVertexArraysAPPLE)(GLsizei, GLuint *); -#define CALL_GenVertexArraysAPPLE(disp, parameters) \ - (* GET_GenVertexArraysAPPLE(disp)) parameters -static inline _glptr_GenVertexArraysAPPLE GET_GenVertexArraysAPPLE(struct _glapi_table *disp) { - return (_glptr_GenVertexArraysAPPLE) (GET_by_offset(disp, _gloffset_GenVertexArraysAPPLE)); -} - -static inline void SET_GenVertexArraysAPPLE(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) { - SET_by_offset(disp, _gloffset_GenVertexArraysAPPLE, fn); -} - -typedef GLboolean (GLAPIENTRYP _glptr_IsVertexArrayAPPLE)(GLuint); -#define CALL_IsVertexArrayAPPLE(disp, parameters) \ - (* GET_IsVertexArrayAPPLE(disp)) parameters -static inline _glptr_IsVertexArrayAPPLE GET_IsVertexArrayAPPLE(struct _glapi_table *disp) { - return (_glptr_IsVertexArrayAPPLE) (GET_by_offset(disp, _gloffset_IsVertexArrayAPPLE)); -} - -static inline void SET_IsVertexArrayAPPLE(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) { - SET_by_offset(disp, _gloffset_IsVertexArrayAPPLE, fn); -} - typedef void (GLAPIENTRYP _glptr_GetProgramNamedParameterdvNV)(GLuint, GLsizei, const GLubyte *, GLdouble *); #define CALL_GetProgramNamedParameterdvNV(disp, parameters) \ (* GET_GetProgramNamedParameterdvNV(disp)) parameters @@ -7436,39 +7352,6 @@ static inline void SET_TextureRangeAPPLE(struct _glapi_table *disp, void (GLAPIE SET_by_offset(disp, _gloffset_TextureRangeAPPLE, fn); } -typedef void (GLAPIENTRYP _glptr_GetObjectParameterivAPPLE)(GLenum, GLuint, GLenum, GLint *); -#define CALL_GetObjectParameterivAPPLE(disp, parameters) \ - (* GET_GetObjectParameterivAPPLE(disp)) parameters -static inline _glptr_GetObjectParameterivAPPLE GET_GetObjectParameterivAPPLE(struct _glapi_table *disp) { - return (_glptr_GetObjectParameterivAPPLE) (GET_by_offset(disp, _gloffset_GetObjectParameterivAPPLE)); -} - -static inline void SET_GetObjectParameterivAPPLE(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLenum, GLint *)) { - SET_by_offset(disp, _gloffset_GetObjectParameterivAPPLE, fn); -} - -typedef GLenum (GLAPIENTRYP _glptr_ObjectPurgeableAPPLE)(GLenum, GLuint, GLenum); -#define CALL_ObjectPurgeableAPPLE(disp, parameters) \ - (* GET_ObjectPurgeableAPPLE(disp)) parameters -static inline _glptr_ObjectPurgeableAPPLE GET_ObjectPurgeableAPPLE(struct _glapi_table *disp) { - return (_glptr_ObjectPurgeableAPPLE) (GET_by_offset(disp, _gloffset_ObjectPurgeableAPPLE)); -} - -static inline void SET_ObjectPurgeableAPPLE(struct _glapi_table *disp, GLenum (GLAPIENTRYP fn)(GLenum, GLuint, GLenum)) { - SET_by_offset(disp, _gloffset_ObjectPurgeableAPPLE, fn); -} - -typedef GLenum (GLAPIENTRYP _glptr_ObjectUnpurgeableAPPLE)(GLenum, GLuint, GLenum); -#define CALL_ObjectUnpurgeableAPPLE(disp, parameters) \ - (* GET_ObjectUnpurgeableAPPLE(disp)) parameters -static inline _glptr_ObjectUnpurgeableAPPLE GET_ObjectUnpurgeableAPPLE(struct _glapi_table *disp) { - return (_glptr_ObjectUnpurgeableAPPLE) (GET_by_offset(disp, _gloffset_ObjectUnpurgeableAPPLE)); -} - -static inline void SET_ObjectUnpurgeableAPPLE(struct _glapi_table *disp, GLenum (GLAPIENTRYP fn)(GLenum, GLuint, GLenum)) { - SET_by_offset(disp, _gloffset_ObjectUnpurgeableAPPLE, fn); -} - typedef GLuint (GLAPIENTRYP _glptr_CreateShaderProgramEXT)(GLenum, const GLchar *); #define CALL_CreateShaderProgramEXT(disp, parameters) \ (* GET_CreateShaderProgramEXT(disp)) parameters diff --git a/reactos/dll/opengl/mesa/main/dlist.c b/reactos/dll/opengl/mesa/main/dlist.c index 2abbea7a32e..ea359e05c70 100644 --- a/reactos/dll/opengl/mesa/main/dlist.c +++ b/reactos/dll/opengl/mesa/main/dlist.c @@ -6730,16 +6730,6 @@ _mesa_create_save_table(void) SET_PointParameteriNV(table, save_PointParameteriNV); SET_PointParameterivNV(table, save_PointParameterivNV); - /* 273. GL_APPLE_vertex_array_object */ - SET_BindVertexArrayAPPLE(table, _mesa_BindVertexArrayAPPLE); - SET_DeleteVertexArraysAPPLE(table, _mesa_DeleteVertexArraysAPPLE); - SET_GenVertexArraysAPPLE(table, _mesa_GenVertexArraysAPPLE); - SET_IsVertexArrayAPPLE(table, _mesa_IsVertexArrayAPPLE); - - /* GL_ARB_vertex_array_object */ - SET_BindVertexArray(table, _mesa_BindVertexArray); - SET_GenVertexArrays(table, _mesa_GenVertexArrays); - /* ???. GL_EXT_depth_bounds_test */ SET_DepthBoundsEXT(table, save_DepthBoundsEXT); @@ -6775,13 +6765,6 @@ _mesa_create_save_table(void) SET_FlushMappedBufferRange(table, _mesa_FlushMappedBufferRange); /* no dl */ #endif - /* 371. GL_APPLE_object_purgeable */ -#if FEATURE_APPLE_object_purgeable - SET_ObjectPurgeableAPPLE(table, _mesa_ObjectPurgeableAPPLE); - SET_ObjectUnpurgeableAPPLE(table, _mesa_ObjectUnpurgeableAPPLE); - SET_GetObjectParameterivAPPLE(table, _mesa_GetObjectParameterivAPPLE); -#endif - /* GL_EXT_texture_integer */ SET_ClearColorIiEXT(table, save_ClearColorIi); SET_ClearColorIuiEXT(table, save_ClearColorIui); diff --git a/reactos/dll/opengl/mesa/main/enable.c b/reactos/dll/opengl/mesa/main/enable.c index a70bc5928f9..9b9d52fab5f 100644 --- a/reactos/dll/opengl/mesa/main/enable.c +++ b/reactos/dll/opengl/mesa/main/enable.c @@ -41,78 +41,50 @@ static void client_state(struct gl_context *ctx, GLenum cap, GLboolean state) { - struct gl_array_object *arrayObj = ctx->Array.ArrayObj; GLbitfield64 flag; GLboolean *var; switch (cap) { case GL_VERTEX_ARRAY: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_POS].Enabled; flag = VERT_BIT_POS; break; case GL_NORMAL_ARRAY: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL].Enabled; flag = VERT_BIT_NORMAL; break; case GL_COLOR_ARRAY: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled; flag = VERT_BIT_COLOR0; break; case GL_INDEX_ARRAY: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled; flag = VERT_BIT_COLOR_INDEX; break; case GL_TEXTURE_COORD_ARRAY: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_TEX].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_TEX].Enabled; flag = VERT_BIT_TEX; break; case GL_EDGE_FLAG_ARRAY: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled; flag = VERT_BIT_EDGEFLAG; break; case GL_FOG_COORDINATE_ARRAY_EXT: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_FOG].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Enabled; flag = VERT_BIT_FOG; break; case GL_SECONDARY_COLOR_ARRAY_EXT: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled; flag = VERT_BIT_COLOR1; break; #if FEATURE_point_size_array case GL_POINT_SIZE_ARRAY_OES: - var = &arrayObj->VertexAttrib[VERT_ATTRIB_POINT_SIZE].Enabled; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_POINT_SIZE].Enabled; flag = VERT_BIT_POINT_SIZE; break; #endif -#if FEATURE_NV_vertex_program - case GL_VERTEX_ATTRIB_ARRAY0_NV: - case GL_VERTEX_ATTRIB_ARRAY1_NV: - case GL_VERTEX_ATTRIB_ARRAY2_NV: - case GL_VERTEX_ATTRIB_ARRAY3_NV: - case GL_VERTEX_ATTRIB_ARRAY4_NV: - case GL_VERTEX_ATTRIB_ARRAY5_NV: - case GL_VERTEX_ATTRIB_ARRAY6_NV: - case GL_VERTEX_ATTRIB_ARRAY7_NV: - case GL_VERTEX_ATTRIB_ARRAY8_NV: - case GL_VERTEX_ATTRIB_ARRAY9_NV: - case GL_VERTEX_ATTRIB_ARRAY10_NV: - case GL_VERTEX_ATTRIB_ARRAY11_NV: - case GL_VERTEX_ATTRIB_ARRAY12_NV: - case GL_VERTEX_ATTRIB_ARRAY13_NV: - case GL_VERTEX_ATTRIB_ARRAY14_NV: - case GL_VERTEX_ATTRIB_ARRAY15_NV: - CHECK_EXTENSION(NV_vertex_program, cap); - { - GLint n = (GLint) cap - GL_VERTEX_ATTRIB_ARRAY0_NV; - ASSERT(VERT_ATTRIB_GENERIC(n) < Elements(ctx->Array.ArrayObj->VertexAttrib)); - var = &arrayObj->VertexAttrib[VERT_ATTRIB_GENERIC(n)].Enabled; - flag = VERT_BIT_GENERIC(n); - } - break; -#endif /* FEATURE_NV_vertex_program */ - default: goto invalid_enum_error; } @@ -128,9 +100,9 @@ client_state(struct gl_context *ctx, GLenum cap, GLboolean state) *var = state; if (state) - ctx->Array.ArrayObj->_Enabled |= flag; + ctx->Array._Enabled |= flag; else - ctx->Array.ArrayObj->_Enabled &= ~flag; + ctx->Array._Enabled &= ~flag; if (ctx->Driver.Enable) { ctx->Driver.Enable( ctx, cap, state ); @@ -906,24 +878,24 @@ _mesa_IsEnabled( GLenum cap ) /* client-side state */ case GL_VERTEX_ARRAY: - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_POS].Enabled != 0); case GL_NORMAL_ARRAY: - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL].Enabled != 0); case GL_COLOR_ARRAY: - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled != 0); case GL_INDEX_ARRAY: - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled != 0); case GL_TEXTURE_COORD_ARRAY: - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_TEX] + return (ctx->Array.VertexAttrib[VERT_ATTRIB_TEX] .Enabled != 0); case GL_EDGE_FLAG_ARRAY: - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled != 0); case GL_FOG_COORDINATE_ARRAY_EXT: CHECK_EXTENSION(EXT_fog_coord); - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_FOG].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Enabled != 0); case GL_SECONDARY_COLOR_ARRAY_EXT: CHECK_EXTENSION(EXT_secondary_color); - return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled != 0); #if FEATURE_point_size_array case GL_POINT_SIZE_ARRAY_OES: return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POINT_SIZE].Enabled != 0); diff --git a/reactos/dll/opengl/mesa/main/extensions.c b/reactos/dll/opengl/mesa/main/extensions.c index ec01949c09a..8062a59bbe6 100644 --- a/reactos/dll/opengl/mesa/main/extensions.c +++ b/reactos/dll/opengl/mesa/main/extensions.c @@ -73,7 +73,6 @@ static const struct extension extension_table[] = { { "GL_ARB_texture_mirrored_repeat", o(dummy_true), 2001 }, { "GL_ARB_texture_storage", o(ARB_texture_storage), 2011 }, { "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), 1999 }, - { "GL_ARB_vertex_array_object", o(ARB_vertex_array_object), 2006 }, { "GL_ARB_vertex_buffer_object", o(dummy_true), 2003 }, { "GL_ARB_window_pos", o(ARB_window_pos), 2001 }, /* EXT extensions */ @@ -112,9 +111,7 @@ static const struct extension extension_table[] = { { "GL_EXT_vertex_array", o(dummy_true), 1995 }, /* Vendor extensions */ - { "GL_APPLE_object_purgeable", o(APPLE_object_purgeable), 2006 }, { "GL_APPLE_packed_pixels", o(APPLE_packed_pixels), 2002 }, - { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), 2002 }, { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), 2003 }, { "GL_ATI_texture_env_combine3", o(ATI_texture_env_combine3), 2002 }, { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), 1998 }, @@ -206,11 +203,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE; /*ctx->Extensions.ARB_texture_float = GL_TRUE;*/ ctx->Extensions.ARB_texture_storage = GL_TRUE; - ctx->Extensions.ARB_vertex_array_object = GL_TRUE; - ctx->Extensions.APPLE_vertex_array_object = GL_TRUE; -#if FEATURE_APPLE_object_purgeable - ctx->Extensions.APPLE_object_purgeable = GL_TRUE; -#endif ctx->Extensions.ATI_texture_env_combine3 = GL_TRUE; ctx->Extensions.EXT_blend_color = GL_TRUE; ctx->Extensions.EXT_blend_equation_separate = GL_TRUE; diff --git a/reactos/dll/opengl/mesa/main/get.c b/reactos/dll/opengl/mesa/main/get.c index 43f90ac339a..bdd2ace5052 100644 --- a/reactos/dll/opengl/mesa/main/get.c +++ b/reactos/dll/opengl/mesa/main/get.c @@ -262,12 +262,10 @@ EXTRA_EXT(IBM_rasterpos_clip); EXTRA_EXT(NV_point_sprite); EXTRA_EXT(NV_light_max_exponent); EXTRA_EXT(EXT_depth_bounds_test); -EXTRA_EXT(APPLE_vertex_array_object); EXTRA_EXT(EXT_compiled_vertex_array); EXTRA_EXT2(NV_point_sprite, ARB_point_sprite); static const int extra_version_30[] = { EXTRA_VERSION_30, EXTRA_END }; -static const int extra_version_31[] = { EXTRA_VERSION_31, EXTRA_END }; static const int extra_version_32[] = { EXTRA_VERSION_32, EXTRA_END }; #define API_OPENGL_BIT (1 << API_OPENGL) @@ -739,10 +737,6 @@ static const struct value_desc values[] = { { GL_DEPTH_BOUNDS_EXT, CONTEXT_FLOAT2(Depth.BoundsMin), extra_EXT_depth_bounds_test }, - /* GL_APPLE_vertex_array_object */ - { GL_VERTEX_ARRAY_BINDING_APPLE, ARRAY_INT(Name), - extra_APPLE_vertex_array_object }, - /* GL_EXT_texture_integer */ { GL_RGBA_INTEGER_MODE_EXT, BUFFER_BOOL(_IntegerColor), extra_EXT_texture_integer }, @@ -929,7 +923,7 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu case GL_TEXTURE_COORD_ARRAY_SIZE: case GL_TEXTURE_COORD_ARRAY_TYPE: case GL_TEXTURE_COORD_ARRAY_STRIDE: - array = &ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_TEX]; + array = &ctx->Array.VertexAttrib[VERT_ATTRIB_TEX]; v->value_int = *(GLuint *) ((char *) array + d->offset); break; @@ -1032,7 +1026,7 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu case GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB: case GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB: buffer_obj = (struct gl_buffer_object **) - ((char *) ctx->Array.ArrayObj + d->offset); + ((char *) &ctx->Array + d->offset); v->value_int = (*buffer_obj)->Name; break; case GL_ARRAY_BUFFER_BINDING_ARB: @@ -1040,10 +1034,10 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu break; case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB: v->value_int = - ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_TEX].BufferObj->Name; + ctx->Array.VertexAttrib[VERT_ATTRIB_TEX].BufferObj->Name; break; case GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB: - v->value_int = ctx->Array.ArrayObj->ElementArrayBufferObj->Name; + v->value_int = ctx->Array.ElementArrayBufferObj->Name; break; case GL_FOG_COLOR: @@ -1195,7 +1189,7 @@ find_value(const char *func, GLenum pname, void **p, union value *v) *p = ((char *) ctx + d->offset); return d; case LOC_ARRAY: - *p = ((char *) ctx->Array.ArrayObj + d->offset); + *p = ((char *)&ctx->Array + d->offset); return d; case LOC_TEXUNIT: unit = &ctx->Texture.Unit; diff --git a/reactos/dll/opengl/mesa/main/getstring.c b/reactos/dll/opengl/mesa/main/getstring.c index 5697d7b8f4b..ae511d1e9b9 100644 --- a/reactos/dll/opengl/mesa/main/getstring.c +++ b/reactos/dll/opengl/mesa/main/getstring.c @@ -125,28 +125,28 @@ _mesa_GetPointerv( GLenum pname, GLvoid **params ) switch (pname) { case GL_VERTEX_ARRAY_POINTER: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_POS].Ptr; break; case GL_NORMAL_ARRAY_POINTER: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL].Ptr; break; case GL_COLOR_ARRAY_POINTER: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Ptr; break; case GL_SECONDARY_COLOR_ARRAY_POINTER_EXT: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Ptr; break; case GL_FOG_COORDINATE_ARRAY_POINTER_EXT: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_FOG].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Ptr; break; case GL_INDEX_ARRAY_POINTER: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Ptr; break; case GL_TEXTURE_COORD_ARRAY_POINTER: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_TEX].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_TEX].Ptr; break; case GL_EDGE_FLAG_ARRAY_POINTER: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_EDGEFLAG].Ptr; break; case GL_FEEDBACK_BUFFER_POINTER: *params = ctx->Feedback.Buffer; diff --git a/reactos/dll/opengl/mesa/main/mtypes.h b/reactos/dll/opengl/mesa/main/mtypes.h index 41031579658..da69c74e7d4 100644 --- a/reactos/dll/opengl/mesa/main/mtypes.h +++ b/reactos/dll/opengl/mesa/main/mtypes.h @@ -1202,22 +1202,6 @@ struct gl_array_object GLint RefCount; _glthread_Mutex Mutex; - /** - * Does the VAO use ARB semantics or Apple semantics? - * - * There are several ways in which ARB_vertex_array_object and - * APPLE_vertex_array_object VAOs have differing semantics. At the very - * least, - * - * - ARB VAOs require that all array data be sourced from vertex buffer - * objects, but Apple VAOs do not. - * - * - ARB VAOs require that names come from GenVertexArrays. - * - * This flag notes which behavior governs this VAO. - */ - GLboolean ARBsemantics; - /** * Has this array object been bound? */ @@ -1244,23 +1228,28 @@ struct gl_array_object */ struct gl_array_attrib { - /** Currently bound array object. See _mesa_BindVertexArrayAPPLE() */ - struct gl_array_object *ArrayObj; + /** Vertex attribute arrays */ + struct gl_client_array VertexAttrib[VERT_ATTRIB_MAX]; - /** The default vertex array object */ - struct gl_array_object *DefaultArrayObj; + /** Mask of VERT_BIT_* values indicating which arrays are enabled */ + GLbitfield64 _Enabled; - /** Array objects (GL_ARB/APPLE_vertex_array_object) */ - struct _mesa_HashTable *Objects; + /** + * Min of all enabled arrays' _MaxElement. When arrays reside inside VBOs + * we can determine the max legal (in bounds) glDrawElements array index. + */ + GLuint _MaxElement; - GLuint LockFirst; /**< GL_EXT_compiled_vertex_array */ - GLuint LockCount; /**< GL_EXT_compiled_vertex_array */ + struct gl_buffer_object *ElementArrayBufferObj; - GLbitfield64 NewState; /**< mask of VERT_BIT_* values */ - GLboolean RebindArrays; /**< whether the VBO module should rebind arrays */ + GLuint LockFirst; /**< GL_EXT_compiled_vertex_array */ + GLuint LockCount; /**< GL_EXT_compiled_vertex_array */ - /* GL_ARB_vertex_buffer_object */ - struct gl_buffer_object *ArrayBufferObj; + GLbitfield64 NewState; /**< mask of VERT_BIT_* values */ + GLboolean RebindArrays; /**< whether the VBO module should rebind arrays */ + + /* GL_ARB_vertex_buffer_object */ + struct gl_buffer_object *ArrayBufferObj; }; @@ -1582,7 +1571,6 @@ struct gl_extensions GLboolean ARB_texture_env_dot3; GLboolean ARB_texture_storage; GLboolean ARB_transpose_matrix; - GLboolean ARB_vertex_array_object; GLboolean ARB_window_pos; GLboolean EXT_blend_color; GLboolean EXT_blend_equation_separate; @@ -1606,8 +1594,6 @@ struct gl_extensions GLboolean EXT_texture_integer; /* vendor extensions */ GLboolean APPLE_packed_pixels; - GLboolean APPLE_vertex_array_object; - GLboolean APPLE_object_purgeable; GLboolean ATI_texture_env_combine3; GLboolean IBM_rasterpos_clip; GLboolean IBM_multimode_draw_arrays; diff --git a/reactos/dll/opengl/mesa/main/precomp.h b/reactos/dll/opengl/mesa/main/precomp.h index e670fa37c6e..1dfbe5aa282 100644 --- a/reactos/dll/opengl/mesa/main/precomp.h +++ b/reactos/dll/opengl/mesa/main/precomp.h @@ -6,7 +6,6 @@ #include "api_exec.h" #include "api_loopback.h" #include "api_validate.h" -#include "arrayobj.h" #include "attrib.h" #include "blend.h" #include "bufferobj.h" diff --git a/reactos/dll/opengl/mesa/main/state.c b/reactos/dll/opengl/mesa/main/state.c index 94689bdd383..62221e34a73 100644 --- a/reactos/dll/opengl/mesa/main/state.c +++ b/reactos/dll/opengl/mesa/main/state.c @@ -61,7 +61,6 @@ update_min(GLuint min, struct gl_client_array *array) static void update_arrays( struct gl_context *ctx ) { - struct gl_array_object *arrayObj = ctx->Array.ArrayObj; GLuint min = ~0; /* find min of _MaxElement values for all enabled arrays. @@ -70,46 +69,46 @@ update_arrays( struct gl_context *ctx ) */ /* 0 */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_POS]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_POS].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_POS]); } /* 2 */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL]); } /* 3 */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0]); } /* 4 */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1]); } /* 5 */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_FOG].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_FOG]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_FOG]); } /* 6 */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX]); } /* 8 */ - if (arrayObj->VertexAttrib[VERT_ATTRIB_TEX].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_TEX]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_TEX].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_TEX]); } - if (arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) { - min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_EDGEFLAG]); } /* _MaxElement is one past the last legal array element */ - arrayObj->_MaxElement = min; + ctx->Array._MaxElement = min; } static void diff --git a/reactos/dll/opengl/mesa/main/varray.c b/reactos/dll/opengl/mesa/main/varray.c index 71b3eab96ba..d570e865ef5 100644 --- a/reactos/dll/opengl/mesa/main/varray.c +++ b/reactos/dll/opengl/mesa/main/varray.c @@ -118,8 +118,7 @@ update_array(struct gl_context *ctx, return; } - if (ctx->Array.ArrayObj->ARBsemantics && - !_mesa_is_bufferobj(ctx->Array.ArrayBufferObj)) { + if (!_mesa_is_bufferobj(ctx->Array.ArrayBufferObj)) { /* GL_ARB_vertex_array_object requires that all arrays reside in VBOs. * Generate GL_INVALID_OPERATION if that's not true. */ @@ -129,7 +128,7 @@ update_array(struct gl_context *ctx, elementSize = _mesa_sizeof_type(type) * size; - array = &ctx->Array.ArrayObj->VertexAttrib[attrib]; + array = &ctx->Array.VertexAttrib[attrib]; array->Size = size; array->Type = type; array->Stride = stride; @@ -609,46 +608,22 @@ _mesa_copy_client_array(struct gl_context *ctx, dst->_MaxElement = src->_MaxElement; } - - -/** - * Print vertex array's fields. - */ static void -print_array(const char *name, GLint index, const struct gl_client_array *array) +init_array(struct gl_context *ctx, + struct gl_client_array *array, GLint size, GLint type) { - if (index >= 0) - printf(" %s[%d]: ", name, index); - else - printf(" %s: ", name); - printf("Ptr=%p, Type=0x%x, Size=%d, ElemSize=%u, Stride=%d, Buffer=%u(Size %lu), MaxElem=%u\n", - array->Ptr, array->Type, array->Size, - array->_ElementSize, array->StrideB, - array->BufferObj->Name, (unsigned long) array->BufferObj->Size, - array->_MaxElement); -} - - -/** - * Print current vertex object/array info. For debug. - */ -void -_mesa_print_arrays(struct gl_context *ctx) -{ - struct gl_array_object *arrayObj = ctx->Array.ArrayObj; - - _mesa_update_array_object_max_element(ctx, arrayObj); - - printf("Array Object %u\n", arrayObj->Name); - if (arrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled) - print_array("Vertex", -1, &arrayObj->VertexAttrib[VERT_ATTRIB_POS]); - if (arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) - print_array("Normal", -1, &arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL]); - if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) - print_array("Color", -1, &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0]); - if (arrayObj->VertexAttrib[VERT_ATTRIB_TEX].Enabled) - print_array("TexCoord", -1, &arrayObj->VertexAttrib[VERT_ATTRIB_TEX]); - printf(" _MaxElement = %u\n", arrayObj->_MaxElement); + array->Size = size; + array->Type = type; + array->Stride = 0; + array->StrideB = 0; + array->Ptr = NULL; + array->Enabled = GL_FALSE; + array->Normalized = GL_FALSE; + array->Integer = GL_FALSE; + array->_ElementSize = size * _mesa_sizeof_type(type); + /* Vertex array buffers */ + _mesa_reference_buffer_object(ctx, &array->BufferObj, + ctx->Shared->NullBufferObj); } @@ -656,25 +631,41 @@ _mesa_print_arrays(struct gl_context *ctx) * Initialize vertex array state for given context. */ void -_mesa_init_varray(struct gl_context *ctx) +_mesa_init_varray(struct gl_context *ctx, struct gl_array_attrib *array) { - ctx->Array.DefaultArrayObj = _mesa_new_array_object(ctx, 0); - _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, - ctx->Array.DefaultArrayObj); + GLuint i; - ctx->Array.Objects = _mesa_NewHashTable(); -} - - -/** - * Callback for deleting an array object. Called by _mesa_HashDeleteAll(). - */ -static void -delete_arrayobj_cb(GLuint id, void *data, void *userData) -{ - struct gl_array_object *arrayObj = (struct gl_array_object *) data; - struct gl_context *ctx = (struct gl_context *) userData; - _mesa_delete_array_object(ctx, arrayObj); + /* Init the individual arrays */ + for (i = 0; i < Elements(array->VertexAttrib); i++) { + switch (i) { + case VERT_ATTRIB_WEIGHT: + init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_WEIGHT], 1, GL_FLOAT); + break; + case VERT_ATTRIB_NORMAL: + init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_NORMAL], 3, GL_FLOAT); + break; + case VERT_ATTRIB_COLOR1: + init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_COLOR1], 3, GL_FLOAT); + break; + case VERT_ATTRIB_FOG: + init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_FOG], 1, GL_FLOAT); + break; + case VERT_ATTRIB_COLOR_INDEX: + init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_COLOR_INDEX], 1, GL_FLOAT); + break; + case VERT_ATTRIB_EDGEFLAG: + init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_EDGEFLAG], 1, GL_BOOL); + break; + #if FEATURE_point_size_array + case VERT_ATTRIB_POINT_SIZE: + init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_POINT_SIZE], 1, GL_FLOAT); + break; + #endif + default: + init_array(ctx, &array->VertexAttrib[i], 4, GL_FLOAT); + break; + } + } } @@ -682,8 +673,14 @@ delete_arrayobj_cb(GLuint id, void *data, void *userData) * Free vertex array state for given context. */ void -_mesa_free_varray_data(struct gl_context *ctx) +_mesa_free_varray_data(struct gl_context *ctx, struct gl_array_attrib* array) { - _mesa_HashDeleteAll(ctx->Array.Objects, delete_arrayobj_cb, ctx); - _mesa_DeleteHashTable(ctx->Array.Objects); + GLuint i; + + /* Uninit the individual arrays */ + for (i = 0; i < Elements(array->VertexAttrib); i++) + { + _mesa_reference_buffer_object(ctx, &array->VertexAttrib[i].BufferObj, NULL); + memset(&array->VertexAttrib[i], 0, sizeof(struct gl_client_array)); + } } diff --git a/reactos/dll/opengl/mesa/main/varray.h b/reactos/dll/opengl/mesa/main/varray.h index 9b3b1c50604..8d0898261b7 100644 --- a/reactos/dll/opengl/mesa/main/varray.h +++ b/reactos/dll/opengl/mesa/main/varray.h @@ -175,15 +175,11 @@ _mesa_copy_client_array(struct gl_context *ctx, struct gl_client_array *dst, struct gl_client_array *src); - extern void -_mesa_print_arrays(struct gl_context *ctx); - -extern void -_mesa_init_varray( struct gl_context * ctx ); +_mesa_init_varray( struct gl_context * ctx, struct gl_array_attrib *array); extern void -_mesa_free_varray_data(struct gl_context *ctx); +_mesa_free_varray_data(struct gl_context *ctx, struct gl_array_attrib *array); #else diff --git a/reactos/dll/opengl/mesa/main/version.c b/reactos/dll/opengl/mesa/main/version.c index 19b10712ca1..63fe5b79300 100644 --- a/reactos/dll/opengl/mesa/main/version.c +++ b/reactos/dll/opengl/mesa/main/version.c @@ -78,8 +78,7 @@ compute_version(struct gl_context *ctx) ctx->Extensions.EXT_blend_equation_separate); const GLboolean ver_2_1 = (ver_2_0); const GLboolean ver_3_0 = (ver_2_1 && - ctx->Extensions.ARB_map_buffer_range && - ctx->Extensions.APPLE_vertex_array_object); + ctx->Extensions.ARB_map_buffer_range); if (ver_3_0) { diff --git a/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c b/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c index 29f97208e69..f03430fce39 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c @@ -224,15 +224,14 @@ static void check_draw_elements_data(struct gl_context *ctx, GLsizei count, GLenum elemType, const void *elements, GLint basevertex) { - struct gl_array_object *arrayObj = ctx->Array.ArrayObj; const void *elemMap; GLint i, k; - if (_mesa_is_bufferobj(ctx->Array.ArrayObj->ElementArrayBufferObj)) { + if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) { elemMap = ctx->Driver.MapBufferRange(ctx, 0, - ctx->Array.ArrayObj->ElementArrayBufferObj->Size, + ctx->Array.ElementArrayBufferObj->Size, GL_MAP_READ_BIT, - ctx->Array.ArrayObj->ElementArrayBufferObj); + ctx->Array.ElementArrayBufferObj); elements = ADD_POINTERS(elements, elemMap); } @@ -255,17 +254,17 @@ check_draw_elements_data(struct gl_context *ctx, GLsizei count, GLenum elemType, } /* check element j of each enabled array */ - for (k = 0; k < Elements(arrayObj->VertexAttrib); k++) { - check_array_data(ctx, &arrayObj->VertexAttrib[k], k, j); + for (k = 0; k < Elements(ctx->Array.VertexAttrib); k++) { + check_array_data(ctx, &ctx->Array.VertexAttrib[k], k, j); } } - if (_mesa_is_bufferobj(arrayObj->ElementArrayBufferObj)) { - ctx->Driver.UnmapBuffer(ctx, ctx->Array.ArrayObj->ElementArrayBufferObj); + if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) { + ctx->Driver.UnmapBuffer(ctx, ctx->Array.ElementArrayBufferObj); } - for (k = 0; k < Elements(arrayObj->VertexAttrib); k++) { - unmap_array_buffer(ctx, &arrayObj->VertexAttrib[k]); + for (k = 0; k < Elements(ctx->Array.VertexAttrib); k++) { + unmap_array_buffer(ctx, &ctx->Array.VertexAttrib[k]); } } @@ -289,7 +288,6 @@ print_draw_arrays(struct gl_context *ctx, { struct vbo_context *vbo = vbo_context(ctx); struct vbo_exec_context *exec = &vbo->exec; - struct gl_array_object *arrayObj = ctx->Array.ArrayObj; int i; printf("vbo_exec_DrawArrays(mode 0x%x, start %d, count %d):\n", @@ -305,7 +303,7 @@ print_draw_arrays(struct gl_context *ctx, exec->array.inputs[i]->Size, stride, /*exec->array.inputs[i]->Enabled,*/ - arrayObj->VertexAttrib[VERT_ATTRIB(i)].Enabled, + ctx->Array.VertexAttrib[VERT_ATTRIB(i)].Enabled, exec->array.inputs[i]->Ptr, bufName); @@ -342,7 +340,7 @@ recalculate_input_bindings(struct gl_context *ctx) { struct vbo_context *vbo = vbo_context(ctx); struct vbo_exec_context *exec = &vbo->exec; - struct gl_client_array *vertexAttrib = ctx->Array.ArrayObj->VertexAttrib; + struct gl_client_array *vertexAttrib = ctx->Array.VertexAttrib; const struct gl_client_array **inputs = &exec->array.inputs[0]; GLbitfield64 const_inputs = 0x0; GLuint i; @@ -546,7 +544,7 @@ vbo_validated_drawrangeelements(struct gl_context *ctx, GLenum mode, ib.count = count; ib.type = type; - ib.obj = ctx->Array.ArrayObj->ElementArrayBufferObj; + ib.obj = ctx->Array.ElementArrayBufferObj; ib.ptr = indices; prim[0].begin = 1; @@ -619,7 +617,7 @@ vbo_exec_DrawRangeElements(GLenum mode, return; if (end < start || - end >= ctx->Array.ArrayObj->_MaxElement) { + end >= ctx->Array._MaxElement) { /* The application requested we draw using a range of indices that's * outside the bounds of the current VBO. This is invalid and appears * to give undefined results. The safest thing to do is to simply @@ -633,7 +631,7 @@ vbo_exec_DrawRangeElements(GLenum mode, "\trange is outside VBO bounds (max=%u); ignoring.\n" "\tThis should be fixed in the application.", start, end, count, type, indices, - ctx->Array.ArrayObj->_MaxElement - 1); + ctx->Array._MaxElement - 1); } index_bounds_valid = GL_FALSE; } @@ -658,7 +656,7 @@ vbo_exec_DrawRangeElements(GLenum mode, printf("glDraw[Range]Elements" "(start %u, end %u, type 0x%x, count %d) ElemBuf %u\n", start, end, type, count, - ctx->Array.ArrayObj->ElementArrayBufferObj->Name); + ctx->Array.ElementArrayBufferObj->Name); } #if 0 diff --git a/reactos/dll/opengl/mesa/vbo/vbo_save_api.c b/reactos/dll/opengl/mesa/vbo/vbo_save_api.c index 280b73cf412..f0585ee4641 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_save_api.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_save_api.c @@ -1084,9 +1084,8 @@ _save_OBE_DrawElements(GLenum mode, GLsizei count, GLenum type, _ae_map_vbos(ctx); - if (_mesa_is_bufferobj(ctx->Array.ArrayObj->ElementArrayBufferObj)) - indices = - ADD_POINTERS(ctx->Array.ArrayObj->ElementArrayBufferObj->Pointer, indices); + if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) + indices = ADD_POINTERS(ctx->Array.ElementArrayBufferObj->Pointer, indices); vbo_save_NotifyBegin(ctx, (mode | VBO_SAVE_PRIM_WEAK | VBO_SAVE_PRIM_NO_CURRENT_UPDATE)); From 55f8bd0cd2a77aecef7c99f336760288302ca58b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Tue, 17 Jun 2014 14:48:39 +0000 Subject: [PATCH 097/120] [OPENGL32/MESA] - Some more cleanup from previous commits CORE-7499 svn path=/trunk/; revision=63609 --- .../opengl/mesa/drivers/common/driverfuncs.c | 3 - reactos/dll/opengl/mesa/drivers/common/meta.c | 2 - reactos/dll/opengl/mesa/main/CMakeLists.txt | 2 - reactos/dll/opengl/mesa/main/api_exec.c | 47 - reactos/dll/opengl/mesa/main/api_loopback.c | 120 -- reactos/dll/opengl/mesa/main/dd.h | 5 - reactos/dll/opengl/mesa/main/dispatch.h | 1007 +---------------- reactos/dll/opengl/mesa/main/dlist.c | 296 ----- reactos/dll/opengl/mesa/main/extensions.c | 3 - reactos/dll/opengl/mesa/main/get.c | 16 +- reactos/dll/opengl/mesa/main/histogram.c | 147 --- reactos/dll/opengl/mesa/main/histogram.h | 58 - reactos/dll/opengl/mesa/main/mfeatures.h | 6 - reactos/dll/opengl/mesa/main/mtypes.h | 49 +- reactos/dll/opengl/mesa/main/precomp.h | 1 - reactos/dll/opengl/mesa/main/texturebarrier.c | 52 - reactos/dll/opengl/mesa/main/texturebarrier.h | 44 - 17 files changed, 10 insertions(+), 1848 deletions(-) delete mode 100644 reactos/dll/opengl/mesa/main/histogram.c delete mode 100644 reactos/dll/opengl/mesa/main/histogram.h delete mode 100644 reactos/dll/opengl/mesa/main/texturebarrier.c delete mode 100644 reactos/dll/opengl/mesa/main/texturebarrier.h diff --git a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c index ac85009c581..8cfb26a4ad3 100644 --- a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c +++ b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c @@ -36,7 +36,6 @@ #include "main/texobj.h" #include "main/texstore.h" #include "main/bufferobj.h" -#include "main/texturebarrier.h" #include "tnl/tnl.h" #include "swrast/swrast.h" @@ -144,8 +143,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->MapRenderbuffer = _swrast_map_soft_renderbuffer; driver->UnmapRenderbuffer = _swrast_unmap_soft_renderbuffer; - _mesa_init_texture_barrier_functions(driver); - /* T&L stuff */ driver->CurrentExecPrimitive = 0; driver->CurrentSavePrimitive = 0; diff --git a/reactos/dll/opengl/mesa/drivers/common/meta.c b/reactos/dll/opengl/mesa/drivers/common/meta.c index ac4a8ac6146..e0957feb1fb 100644 --- a/reactos/dll/opengl/mesa/drivers/common/meta.c +++ b/reactos/dll/opengl/mesa/drivers/common/meta.c @@ -166,10 +166,8 @@ struct clear_state { GLuint ArrayObj; GLuint VBO; - GLuint ShaderProg; GLint ColorLocation; - GLuint IntegerShaderProg; GLint IntegerColorLocation; }; diff --git a/reactos/dll/opengl/mesa/main/CMakeLists.txt b/reactos/dll/opengl/mesa/main/CMakeLists.txt index 15e8651fba8..15da07c8f97 100644 --- a/reactos/dll/opengl/mesa/main/CMakeLists.txt +++ b/reactos/dll/opengl/mesa/main/CMakeLists.txt @@ -34,7 +34,6 @@ list(APPEND SOURCE getstring.c hash.c hint.c - #histogram.c image.c imports.c light.c @@ -66,7 +65,6 @@ list(APPEND SOURCE texstate.c texstorage.c texstore.c - texturebarrier.c varray.c version.c viewport.c diff --git a/reactos/dll/opengl/mesa/main/api_exec.c b/reactos/dll/opengl/mesa/main/api_exec.c index d4d328d2f8c..a10d6c07c95 100644 --- a/reactos/dll/opengl/mesa/main/api_exec.c +++ b/reactos/dll/opengl/mesa/main/api_exec.c @@ -30,8 +30,6 @@ #include -#include "histogram.h" - #if FEATURE_GL @@ -215,7 +213,6 @@ _mesa_create_exec_table(void) _mesa_init_colortable_dispatch(exec); _mesa_init_convolve_dispatch(exec); - _mesa_init_histogram_dispatch(exec); /* 2. GL_EXT_blend_color */ #if 0 @@ -227,16 +224,6 @@ _mesa_create_exec_table(void) SET_PolygonOffsetEXT(exec, _mesa_PolygonOffsetEXT); #endif - /* 11. GL_EXT_histogram */ -#if 0 - SET_GetHistogramEXT(exec, _mesa_GetHistogram); - SET_GetHistogramParameterfvEXT(exec, _mesa_GetHistogramParameterfv); - SET_GetHistogramParameterivEXT(exec, _mesa_GetHistogramParameteriv); - SET_GetMinmaxEXT(exec, _mesa_GetMinmax); - SET_GetMinmaxParameterfvEXT(exec, _mesa_GetMinmaxParameterfv); - SET_GetMinmaxParameterivEXT(exec, _mesa_GetMinmaxParameteriv); -#endif - /* 14. SGI_color_table */ #if 0 SET_ColorTableSGI(exec, _mesa_ColorTable); @@ -287,37 +274,6 @@ _mesa_create_exec_table(void) SET_MultiModeDrawElementsIBM(exec, _mesa_MultiModeDrawElementsIBM); #endif - /* 233. GL_NV_vertex_program */ -#if FEATURE_NV_vertex_program - SET_ExecuteProgramNV(exec, _mesa_ExecuteProgramNV); - SET_GenProgramsNV(exec, _mesa_GenPrograms); - SET_AreProgramsResidentNV(exec, _mesa_AreProgramsResidentNV); - SET_RequestResidentProgramsNV(exec, _mesa_RequestResidentProgramsNV); - SET_GetProgramParameterfvNV(exec, _mesa_GetProgramParameterfvNV); - SET_GetProgramParameterdvNV(exec, _mesa_GetProgramParameterdvNV); - SET_GetProgramivNV(exec, _mesa_GetProgramivNV); - SET_GetTrackMatrixivNV(exec, _mesa_GetTrackMatrixivNV); - SET_LoadProgramNV(exec, _mesa_LoadProgramNV); - SET_ProgramEnvParameter4dARB(exec, _mesa_ProgramEnvParameter4dARB); /* alias to ProgramParameter4dNV */ - SET_ProgramEnvParameter4dvARB(exec, _mesa_ProgramEnvParameter4dvARB); /* alias to ProgramParameter4dvNV */ - SET_ProgramEnvParameter4fARB(exec, _mesa_ProgramEnvParameter4fARB); /* alias to ProgramParameter4fNV */ - SET_ProgramEnvParameter4fvARB(exec, _mesa_ProgramEnvParameter4fvARB); /* alias to ProgramParameter4fvNV */ - SET_ProgramParameters4dvNV(exec, _mesa_ProgramParameters4dvNV); - SET_ProgramParameters4fvNV(exec, _mesa_ProgramParameters4fvNV); - SET_TrackMatrixNV(exec, _mesa_TrackMatrixNV); - /* glVertexAttrib*NV functions handled in api_loopback.c */ -#endif - - /* 282. GL_NV_fragment_program */ -#if FEATURE_NV_fragment_program - SET_ProgramNamedParameter4fNV(exec, _mesa_ProgramNamedParameter4fNV); - SET_ProgramNamedParameter4dNV(exec, _mesa_ProgramNamedParameter4dNV); - SET_ProgramNamedParameter4fvNV(exec, _mesa_ProgramNamedParameter4fvNV); - SET_ProgramNamedParameter4dvNV(exec, _mesa_ProgramNamedParameter4dvNV); - SET_GetProgramNamedParameterfvNV(exec, _mesa_GetProgramNamedParameterfvNV); - SET_GetProgramNamedParameterdvNV(exec, _mesa_GetProgramNamedParameterdvNV); -#endif - /* 262. GL_NV_point_sprite */ #if _HAVE_FULL_GL SET_PointParameteriNV(exec, _mesa_PointParameteri); @@ -372,9 +328,6 @@ _mesa_create_exec_table(void) /* GL 3.0 (functions not covered by other extensions) */ SET_GetStringi(exec, _mesa_GetStringi); - /* GL_NV_texture_barrier */ - SET_TextureBarrierNV(exec, _mesa_TextureBarrierNV); - /* GL_ARB_texture_storage */ SET_TexStorage1D(exec, _mesa_TexStorage1D); SET_TexStorage2D(exec, _mesa_TexStorage2D); diff --git a/reactos/dll/opengl/mesa/main/api_loopback.c b/reactos/dll/opengl/mesa/main/api_loopback.c index a429f906947..d2dca88822f 100644 --- a/reactos/dll/opengl/mesa/main/api_loopback.c +++ b/reactos/dll/opengl/mesa/main/api_loopback.c @@ -991,113 +991,6 @@ loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v) } -static void GLAPIENTRY -loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib1svNV(index + i, v + i); -} - -static void GLAPIENTRY -loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - ATTRIB1NV(index + i, v[i]); -} - -static void GLAPIENTRY -loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib1dvNV(index + i, v + i); -} - -static void GLAPIENTRY -loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib2svNV(index + i, v + 2 * i); -} - -static void GLAPIENTRY -loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - ATTRIB2NV(index + i, v[2 * i], v[2 * i + 1]); -} - -static void GLAPIENTRY -loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib2dvNV(index + i, v + 2 * i); -} - -static void GLAPIENTRY -loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib3svNV(index + i, v + 3 * i); -} - -static void GLAPIENTRY -loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - ATTRIB3NV(index + i, v[3 * i], v[3 * i + 1], v[3 * i + 2]); -} - -static void GLAPIENTRY -loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib3dvNV(index + i, v + 3 * i); -} - -static void GLAPIENTRY -loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib4svNV(index + i, v + 4 * i); -} - -static void GLAPIENTRY -loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - ATTRIB4NV(index + i, v[4 * i], v[4 * i + 1], v[4 * i + 2], v[4 * i + 3]); -} - -static void GLAPIENTRY -loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib4dvNV(index + i, v + 4 * i); -} - -static void GLAPIENTRY -loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v) -{ - GLint i; - for (i = n - 1; i >= 0; i--) - loopback_VertexAttrib4ubvNV(index + i, v + 4 * i); -} - - - - /* * This code never registers handlers for any of the entry points * listed in vtxfmt.h. @@ -1246,19 +1139,6 @@ _mesa_loopback_init_api_table( struct _glapi_table *dest ) SET_VertexAttrib4svNV(dest, loopback_VertexAttrib4svNV); SET_VertexAttrib4dvNV(dest, loopback_VertexAttrib4dvNV); SET_VertexAttrib4ubvNV(dest, loopback_VertexAttrib4ubvNV); - SET_VertexAttribs1svNV(dest, loopback_VertexAttribs1svNV); - SET_VertexAttribs1fvNV(dest, loopback_VertexAttribs1fvNV); - SET_VertexAttribs1dvNV(dest, loopback_VertexAttribs1dvNV); - SET_VertexAttribs2svNV(dest, loopback_VertexAttribs2svNV); - SET_VertexAttribs2fvNV(dest, loopback_VertexAttribs2fvNV); - SET_VertexAttribs2dvNV(dest, loopback_VertexAttribs2dvNV); - SET_VertexAttribs3svNV(dest, loopback_VertexAttribs3svNV); - SET_VertexAttribs3fvNV(dest, loopback_VertexAttribs3fvNV); - SET_VertexAttribs3dvNV(dest, loopback_VertexAttribs3dvNV); - SET_VertexAttribs4svNV(dest, loopback_VertexAttribs4svNV); - SET_VertexAttribs4fvNV(dest, loopback_VertexAttribs4fvNV); - SET_VertexAttribs4dvNV(dest, loopback_VertexAttribs4dvNV); - SET_VertexAttribs4ubvNV(dest, loopback_VertexAttribs4ubvNV); } diff --git a/reactos/dll/opengl/mesa/main/dd.h b/reactos/dll/opengl/mesa/main/dd.h index 03a1a87f27c..47ca70755e1 100644 --- a/reactos/dll/opengl/mesa/main/dd.h +++ b/reactos/dll/opengl/mesa/main/dd.h @@ -666,11 +666,6 @@ struct dd_function_table { void (*EndCallList)( struct gl_context *ctx ); /**@}*/ - - /** - * \name GL_NV_texture_barrier interface - */ - void (*TextureBarrier)(struct gl_context *ctx); }; diff --git a/reactos/dll/opengl/mesa/main/dispatch.h b/reactos/dll/opengl/mesa/main/dispatch.h index 3df758825af..aac79306548 100644 --- a/reactos/dll/opengl/mesa/main/dispatch.h +++ b/reactos/dll/opengl/mesa/main/dispatch.h @@ -403,6 +403,7 @@ typedef PROC _glapi_proc; #define _gloffset_TexSubImage2D 333 #define _gloffset_PopClientAttrib 334 #define _gloffset_PushClientAttrib 335 + #define _gloffset_BlendColor 336 #define _gloffset_BlendEquation 337 #define _gloffset_DrawRangeElements 338 @@ -428,19 +429,6 @@ typedef PROC _glapi_proc; #define _gloffset_GetConvolutionParameteriv 358 #define _gloffset_GetSeparableFilter 359 #define _gloffset_SeparableFilter2D 360 -#define _gloffset_GetHistogram 361 -#define _gloffset_GetHistogramParameterfv 362 -#define _gloffset_GetHistogramParameteriv 363 -#define _gloffset_GetMinmax 364 -#define _gloffset_GetMinmaxParameterfv 365 -#define _gloffset_GetMinmaxParameteriv 366 -#define _gloffset_Histogram 367 -#define _gloffset_Minmax 368 -#define _gloffset_ResetHistogram 369 -#define _gloffset_ResetMinmax 370 - -#if !FEATURE_remap_table - #define _gloffset_GetStringi 435 #define _gloffset_GetBufferParameteri64v 438 #define _gloffset_GetInteger64i_v 439 @@ -461,9 +449,6 @@ typedef PROC _glapi_proc; #define _gloffset_MapBufferARB 519 #define _gloffset_UnmapBufferARB 520 #define _gloffset_AttachObjectARB 529 -#define _gloffset_CompileShaderARB 530 -#define _gloffset_CreateProgramObjectARB 531 -#define _gloffset_CreateShaderObjectARB 532 #define _gloffset_DeleteObjectARB 533 #define _gloffset_DetachObjectARB 534 #define _gloffset_GetAttachedObjectsARB 536 @@ -471,10 +456,6 @@ typedef PROC _glapi_proc; #define _gloffset_GetInfoLogARB 538 #define _gloffset_GetObjectParameterfvARB 539 #define _gloffset_GetObjectParameterivARB 540 -#define _gloffset_GetShaderSourceARB 541 -#define _gloffset_LinkProgramARB 545 -#define _gloffset_ShaderSourceARB 546 -#define _gloffset_ValidateProgramARB 567 #define _gloffset_GetActiveAttribARB 569 #define _gloffset_FlushMappedBufferRange 580 #define _gloffset_MapBufferRange 581 @@ -569,16 +550,6 @@ typedef PROC _glapi_proc; #define _gloffset_IsFenceNV 782 #define _gloffset_SetFenceNV 783 #define _gloffset_TestFenceNV 784 -#define _gloffset_AreProgramsResidentNV 785 -#define _gloffset_ExecuteProgramNV 788 -#define _gloffset_GetProgramParameterdvNV 790 -#define _gloffset_GetProgramParameterfvNV 791 -#define _gloffset_GetTrackMatrixivNV 794 -#define _gloffset_LoadProgramNV 800 -#define _gloffset_ProgramParameters4dvNV 801 -#define _gloffset_ProgramParameters4fvNV 802 -#define _gloffset_RequestResidentProgramsNV 803 -#define _gloffset_TrackMatrixNV 804 #define _gloffset_VertexAttrib1dNV 805 #define _gloffset_VertexAttrib1dvNV 806 #define _gloffset_VertexAttrib1fNV 807 @@ -605,28 +576,9 @@ typedef PROC _glapi_proc; #define _gloffset_VertexAttrib4svNV 828 #define _gloffset_VertexAttrib4ubNV 829 #define _gloffset_VertexAttrib4ubvNV 830 -#define _gloffset_VertexAttribs1dvNV 832 -#define _gloffset_VertexAttribs1fvNV 833 -#define _gloffset_VertexAttribs1svNV 834 -#define _gloffset_VertexAttribs2dvNV 835 -#define _gloffset_VertexAttribs2fvNV 836 -#define _gloffset_VertexAttribs2svNV 837 -#define _gloffset_VertexAttribs3dvNV 838 -#define _gloffset_VertexAttribs3fvNV 839 -#define _gloffset_VertexAttribs3svNV 840 -#define _gloffset_VertexAttribs4dvNV 841 -#define _gloffset_VertexAttribs4fvNV 842 -#define _gloffset_VertexAttribs4svNV 843 -#define _gloffset_VertexAttribs4ubvNV 844 #define _gloffset_PointParameteriNV 863 #define _gloffset_PointParameterivNV 864 #define _gloffset_ActiveStencilFaceEXT 865 -#define _gloffset_GetProgramNamedParameterdvNV 870 -#define _gloffset_GetProgramNamedParameterfvNV 871 -#define _gloffset_ProgramNamedParameter4dNV 872 -#define _gloffset_ProgramNamedParameter4dvNV 873 -#define _gloffset_ProgramNamedParameter4fNV 874 -#define _gloffset_ProgramNamedParameter4fvNV 875 #define _gloffset_DepthBoundsEXT 878 #define _gloffset_BlendEquationSeparateEXT 879 #define _gloffset_BufferParameteriAPPLE 898 @@ -641,435 +593,6 @@ typedef PROC _glapi_proc; #define _gloffset_TexParameterIuivEXT 946 #define _gloffset_GetTexParameterPointervAPPLE 957 #define _gloffset_TextureRangeAPPLE 958 -#define _gloffset_GetObjectParameterivAPPLE 959 -#define _gloffset_ObjectPurgeableAPPLE 960 -#define _gloffset_ObjectUnpurgeableAPPLE 961 -#define _gloffset_CreateShaderProgramEXT 963 -#define _gloffset_TextureBarrierNV 965 - -#else /* !FEATURE_remap_table */ - -#define driDispatchRemapTable_size 565 -extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; - -#define GetStringi_remap_index 27 -#define TexBuffer_remap_index 28 -#define GetBufferParameteri64v_remap_index 30 -#define GetInteger64i_v_remap_index 31 -#define VertexAttribDivisor_remap_index 32 -#define LoadTransposeMatrixdARB_remap_index 33 -#define LoadTransposeMatrixfARB_remap_index 34 -#define MultTransposeMatrixdARB_remap_index 35 -#define MultTransposeMatrixfARB_remap_index 36 -#define SampleCoverageARB_remap_index 37 -#define BindBufferARB_remap_index 102 -#define BufferDataARB_remap_index 103 -#define BufferSubDataARB_remap_index 104 -#define DeleteBuffersARB_remap_index 105 -#define GenBuffersARB_remap_index 106 -#define GetBufferParameterivARB_remap_index 107 -#define GetBufferPointervARB_remap_index 108 -#define GetBufferSubDataARB_remap_index 109 -#define IsBufferARB_remap_index 110 -#define MapBufferARB_remap_index 111 -#define UnmapBufferARB_remap_index 112 -#define AttachObjectARB_remap_index 121 -#define CompileShaderARB_remap_index 122 -#define CreateProgramObjectARB_remap_index 123 -#define CreateShaderObjectARB_remap_index 124 -#define DeleteObjectARB_remap_index 125 -#define DetachObjectARB_remap_index 126 -#define GetAttachedObjectsARB_remap_index 128 -#define GetHandleARB_remap_index 129 -#define GetInfoLogARB_remap_index 130 -#define GetObjectParameterfvARB_remap_index 131 -#define GetObjectParameterivARB_remap_index 132 -#define GetShaderSourceARB_remap_index 133 -#define LinkProgramARB_remap_index 137 -#define ShaderSourceARB_remap_index 138 -#define ValidateProgramARB_remap_index 159 -#define GetActiveAttribARB_remap_index 161 -#define VertexAttribDivisorARB_remap_index 171 -#define FlushMappedBufferRange_remap_index 172 -#define MapBufferRange_remap_index 173 -#define TexStorage1D_remap_index 277 -#define TexStorage2D_remap_index 278 -#define TexStorage3D_remap_index 279 -#define TextureStorage1DEXT_remap_index 280 -#define TextureStorage2DEXT_remap_index 281 -#define TextureStorage3DEXT_remap_index 282 -#define PolygonOffsetEXT_remap_index 283 -#define SampleMaskSGIS_remap_index 290 -#define SamplePatternSGIS_remap_index 291 -#define ColorPointerEXT_remap_index 292 -#define EdgeFlagPointerEXT_remap_index 293 -#define IndexPointerEXT_remap_index 294 -#define NormalPointerEXT_remap_index 295 -#define TexCoordPointerEXT_remap_index 296 -#define VertexPointerEXT_remap_index 297 -#define PointParameterfEXT_remap_index 298 -#define PointParameterfvEXT_remap_index 299 -#define LockArraysEXT_remap_index 300 -#define UnlockArraysEXT_remap_index 301 -#define SecondaryColor3bEXT_remap_index 302 -#define SecondaryColor3bvEXT_remap_index 303 -#define SecondaryColor3dEXT_remap_index 304 -#define SecondaryColor3dvEXT_remap_index 305 -#define SecondaryColor3fEXT_remap_index 306 -#define SecondaryColor3fvEXT_remap_index 307 -#define SecondaryColor3iEXT_remap_index 308 -#define SecondaryColor3ivEXT_remap_index 309 -#define SecondaryColor3sEXT_remap_index 310 -#define SecondaryColor3svEXT_remap_index 311 -#define SecondaryColor3ubEXT_remap_index 312 -#define SecondaryColor3ubvEXT_remap_index 313 -#define SecondaryColor3uiEXT_remap_index 314 -#define SecondaryColor3uivEXT_remap_index 315 -#define SecondaryColor3usEXT_remap_index 316 -#define SecondaryColor3usvEXT_remap_index 317 -#define SecondaryColorPointerEXT_remap_index 318 -#define MultiDrawArraysEXT_remap_index 319 -#define FogCoordPointerEXT_remap_index 321 -#define FogCoorddEXT_remap_index 322 -#define FogCoorddvEXT_remap_index 323 -#define FogCoordfEXT_remap_index 324 -#define FogCoordfvEXT_remap_index 325 -#define PixelTexGenSGIX_remap_index 326 -#define BlendFuncSeparateEXT_remap_index 327 -#define FlushVertexArrayRangeNV_remap_index 328 -#define VertexArrayRangeNV_remap_index 329 -#define CombinerInputNV_remap_index 330 -#define CombinerOutputNV_remap_index 331 -#define CombinerParameterfNV_remap_index 332 -#define CombinerParameterfvNV_remap_index 333 -#define CombinerParameteriNV_remap_index 334 -#define CombinerParameterivNV_remap_index 335 -#define FinalCombinerInputNV_remap_index 336 -#define GetCombinerInputParameterfvNV_remap_index 337 -#define GetCombinerInputParameterivNV_remap_index 338 -#define GetCombinerOutputParameterfvNV_remap_index 339 -#define GetCombinerOutputParameterivNV_remap_index 340 -#define GetFinalCombinerInputParameterfvNV_remap_index 341 -#define GetFinalCombinerInputParameterivNV_remap_index 342 -#define WindowPos2dMESA_remap_index 344 -#define WindowPos2dvMESA_remap_index 345 -#define WindowPos2fMESA_remap_index 346 -#define WindowPos2fvMESA_remap_index 347 -#define WindowPos2iMESA_remap_index 348 -#define WindowPos2ivMESA_remap_index 349 -#define WindowPos2sMESA_remap_index 350 -#define WindowPos2svMESA_remap_index 351 -#define WindowPos3dMESA_remap_index 352 -#define WindowPos3dvMESA_remap_index 353 -#define WindowPos3fMESA_remap_index 354 -#define WindowPos3fvMESA_remap_index 355 -#define WindowPos3iMESA_remap_index 356 -#define WindowPos3ivMESA_remap_index 357 -#define WindowPos3sMESA_remap_index 358 -#define WindowPos3svMESA_remap_index 359 -#define WindowPos4dMESA_remap_index 360 -#define WindowPos4dvMESA_remap_index 361 -#define WindowPos4fMESA_remap_index 362 -#define WindowPos4fvMESA_remap_index 363 -#define WindowPos4iMESA_remap_index 364 -#define WindowPos4ivMESA_remap_index 365 -#define WindowPos4sMESA_remap_index 366 -#define WindowPos4svMESA_remap_index 367 -#define MultiModeDrawArraysIBM_remap_index 368 -#define MultiModeDrawElementsIBM_remap_index 369 -#define DeleteFencesNV_remap_index 370 -#define FinishFenceNV_remap_index 371 -#define GenFencesNV_remap_index 372 -#define GetFenceivNV_remap_index 373 -#define IsFenceNV_remap_index 374 -#define SetFenceNV_remap_index 375 -#define TestFenceNV_remap_index 376 -#define AreProgramsResidentNV_remap_index 377 -#define ExecuteProgramNV_remap_index 380 -#define GetProgramParameterdvNV_remap_index 382 -#define GetProgramParameterfvNV_remap_index 383 -#define GetTrackMatrixivNV_remap_index 386 -#define LoadProgramNV_remap_index 392 -#define ProgramParameters4dvNV_remap_index 393 -#define ProgramParameters4fvNV_remap_index 394 -#define RequestResidentProgramsNV_remap_index 395 -#define TrackMatrixNV_remap_index 396 -#define VertexAttrib1dNV_remap_index 397 -#define VertexAttrib1dvNV_remap_index 398 -#define VertexAttrib1fNV_remap_index 399 -#define VertexAttrib1fvNV_remap_index 400 -#define VertexAttrib1sNV_remap_index 401 -#define VertexAttrib1svNV_remap_index 402 -#define VertexAttrib2dNV_remap_index 403 -#define VertexAttrib2dvNV_remap_index 404 -#define VertexAttrib2fNV_remap_index 405 -#define VertexAttrib2fvNV_remap_index 406 -#define VertexAttrib2sNV_remap_index 407 -#define VertexAttrib2svNV_remap_index 408 -#define VertexAttrib3dNV_remap_index 409 -#define VertexAttrib3dvNV_remap_index 410 -#define VertexAttrib3fNV_remap_index 411 -#define VertexAttrib3fvNV_remap_index 412 -#define VertexAttrib3sNV_remap_index 413 -#define VertexAttrib3svNV_remap_index 414 -#define VertexAttrib4dNV_remap_index 415 -#define VertexAttrib4dvNV_remap_index 416 -#define VertexAttrib4fNV_remap_index 417 -#define VertexAttrib4fvNV_remap_index 418 -#define VertexAttrib4sNV_remap_index 419 -#define VertexAttrib4svNV_remap_index 420 -#define VertexAttrib4ubNV_remap_index 421 -#define VertexAttrib4ubvNV_remap_index 422 -#define VertexAttribs1dvNV_remap_index 424 -#define VertexAttribs1fvNV_remap_index 425 -#define VertexAttribs1svNV_remap_index 426 -#define VertexAttribs2dvNV_remap_index 427 -#define VertexAttribs2fvNV_remap_index 428 -#define VertexAttribs2svNV_remap_index 429 -#define VertexAttribs3dvNV_remap_index 430 -#define VertexAttribs3fvNV_remap_index 431 -#define VertexAttribs3svNV_remap_index 432 -#define VertexAttribs4dvNV_remap_index 433 -#define VertexAttribs4fvNV_remap_index 434 -#define VertexAttribs4svNV_remap_index 435 -#define VertexAttribs4ubvNV_remap_index 436 -#define PointParameteriNV_remap_index 455 -#define PointParameterivNV_remap_index 456 -#define ActiveStencilFaceEXT_remap_index 457 -#define GetProgramNamedParameterdvNV_remap_index 462 -#define GetProgramNamedParameterfvNV_remap_index 463 -#define ProgramNamedParameter4dNV_remap_index 464 -#define ProgramNamedParameter4dvNV_remap_index 465 -#define ProgramNamedParameter4fNV_remap_index 466 -#define ProgramNamedParameter4fvNV_remap_index 467 -#define DepthBoundsEXT_remap_index 470 -#define BlendEquationSeparateEXT_remap_index 471 -#define BufferParameteriAPPLE_remap_index 490 -#define FlushMappedBufferRangeAPPLE_remap_index 491 -#define BindFragDataLocationEXT_remap_index 492 -#define GetFragDataLocationEXT_remap_index 493 -#define ClearColorIiEXT_remap_index 533 -#define ClearColorIuiEXT_remap_index 534 -#define GetTexParameterIivEXT_remap_index 535 -#define GetTexParameterIuivEXT_remap_index 536 -#define TexParameterIivEXT_remap_index 537 -#define TexParameterIuivEXT_remap_index 538 -#define GetTexParameterPointervAPPLE_remap_index 549 -#define TextureRangeAPPLE_remap_index 550 -#define GetObjectParameterivAPPLE_remap_index 551 -#define ObjectPurgeableAPPLE_remap_index 552 -#define ObjectUnpurgeableAPPLE_remap_index 553 -#define CreateShaderProgramEXT_remap_index 555 -#define TextureBarrierNV_remap_index 557 - -#define _gloffset_GetStringi driDispatchRemapTable[GetStringi_remap_index] -#define _gloffset_GetBufferParameteri64v driDispatchRemapTable[GetBufferParameteri64v_remap_index] -#define _gloffset_GetInteger64i_v driDispatchRemapTable[GetInteger64i_v_remap_index] -#define _gloffset_LoadTransposeMatrixdARB driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index] -#define _gloffset_LoadTransposeMatrixfARB driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index] -#define _gloffset_MultTransposeMatrixdARB driDispatchRemapTable[MultTransposeMatrixdARB_remap_index] -#define _gloffset_MultTransposeMatrixfARB driDispatchRemapTable[MultTransposeMatrixfARB_remap_index] -#define _gloffset_SampleCoverageARB driDispatchRemapTable[SampleCoverageARB_remap_index] -#define _gloffset_BindBufferARB driDispatchRemapTable[BindBufferARB_remap_index] -#define _gloffset_BufferDataARB driDispatchRemapTable[BufferDataARB_remap_index] -#define _gloffset_BufferSubDataARB driDispatchRemapTable[BufferSubDataARB_remap_index] -#define _gloffset_DeleteBuffersARB driDispatchRemapTable[DeleteBuffersARB_remap_index] -#define _gloffset_GenBuffersARB driDispatchRemapTable[GenBuffersARB_remap_index] -#define _gloffset_GetBufferParameterivARB driDispatchRemapTable[GetBufferParameterivARB_remap_index] -#define _gloffset_GetBufferPointervARB driDispatchRemapTable[GetBufferPointervARB_remap_index] -#define _gloffset_GetBufferSubDataARB driDispatchRemapTable[GetBufferSubDataARB_remap_index] -#define _gloffset_IsBufferARB driDispatchRemapTable[IsBufferARB_remap_index] -#define _gloffset_MapBufferARB driDispatchRemapTable[MapBufferARB_remap_index] -#define _gloffset_UnmapBufferARB driDispatchRemapTable[UnmapBufferARB_remap_index] -#define _gloffset_AttachObjectARB driDispatchRemapTable[AttachObjectARB_remap_index] -#define _gloffset_CompileShaderARB driDispatchRemapTable[CompileShaderARB_remap_index] -#define _gloffset_CreateProgramObjectARB driDispatchRemapTable[CreateProgramObjectARB_remap_index] -#define _gloffset_CreateShaderObjectARB driDispatchRemapTable[CreateShaderObjectARB_remap_index] -#define _gloffset_DeleteObjectARB driDispatchRemapTable[DeleteObjectARB_remap_index] -#define _gloffset_DetachObjectARB driDispatchRemapTable[DetachObjectARB_remap_index] -#define _gloffset_GetAttachedObjectsARB driDispatchRemapTable[GetAttachedObjectsARB_remap_index] -#define _gloffset_GetHandleARB driDispatchRemapTable[GetHandleARB_remap_index] -#define _gloffset_GetInfoLogARB driDispatchRemapTable[GetInfoLogARB_remap_index] -#define _gloffset_GetObjectParameterfvARB driDispatchRemapTable[GetObjectParameterfvARB_remap_index] -#define _gloffset_GetObjectParameterivARB driDispatchRemapTable[GetObjectParameterivARB_remap_index] -#define _gloffset_GetShaderSourceARB driDispatchRemapTable[GetShaderSourceARB_remap_index] -#define _gloffset_LinkProgramARB driDispatchRemapTable[LinkProgramARB_remap_index] -#define _gloffset_ShaderSourceARB driDispatchRemapTable[ShaderSourceARB_remap_index] -#define _gloffset_ValidateProgramARB driDispatchRemapTable[ValidateProgramARB_remap_index] -#define _gloffset_GetActiveAttribARB driDispatchRemapTable[GetActiveAttribARB_remap_index] -#define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index] -#define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index] -#define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index] -#define _gloffset_TexStorage1D driDispatchRemapTable[TexStorage1D_remap_index] -#define _gloffset_TexStorage2D driDispatchRemapTable[TexStorage2D_remap_index] -#define _gloffset_TexStorage3D driDispatchRemapTable[TexStorage3D_remap_index] -#define _gloffset_TextureStorage1DEXT driDispatchRemapTable[TextureStorage1DEXT_remap_index] -#define _gloffset_TextureStorage2DEXT driDispatchRemapTable[TextureStorage2DEXT_remap_index] -#define _gloffset_TextureStorage3DEXT driDispatchRemapTable[TextureStorage3DEXT_remap_index] -#define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] -#define _gloffset_SampleMaskSGIS driDispatchRemapTable[SampleMaskSGIS_remap_index] -#define _gloffset_SamplePatternSGIS driDispatchRemapTable[SamplePatternSGIS_remap_index] -#define _gloffset_ColorPointerEXT driDispatchRemapTable[ColorPointerEXT_remap_index] -#define _gloffset_EdgeFlagPointerEXT driDispatchRemapTable[EdgeFlagPointerEXT_remap_index] -#define _gloffset_IndexPointerEXT driDispatchRemapTable[IndexPointerEXT_remap_index] -#define _gloffset_NormalPointerEXT driDispatchRemapTable[NormalPointerEXT_remap_index] -#define _gloffset_TexCoordPointerEXT driDispatchRemapTable[TexCoordPointerEXT_remap_index] -#define _gloffset_VertexPointerEXT driDispatchRemapTable[VertexPointerEXT_remap_index] -#define _gloffset_PointParameterfEXT driDispatchRemapTable[PointParameterfEXT_remap_index] -#define _gloffset_PointParameterfvEXT driDispatchRemapTable[PointParameterfvEXT_remap_index] -#define _gloffset_LockArraysEXT driDispatchRemapTable[LockArraysEXT_remap_index] -#define _gloffset_UnlockArraysEXT driDispatchRemapTable[UnlockArraysEXT_remap_index] -#define _gloffset_SecondaryColor3bEXT driDispatchRemapTable[SecondaryColor3bEXT_remap_index] -#define _gloffset_SecondaryColor3bvEXT driDispatchRemapTable[SecondaryColor3bvEXT_remap_index] -#define _gloffset_SecondaryColor3dEXT driDispatchRemapTable[SecondaryColor3dEXT_remap_index] -#define _gloffset_SecondaryColor3dvEXT driDispatchRemapTable[SecondaryColor3dvEXT_remap_index] -#define _gloffset_SecondaryColor3fEXT driDispatchRemapTable[SecondaryColor3fEXT_remap_index] -#define _gloffset_SecondaryColor3fvEXT driDispatchRemapTable[SecondaryColor3fvEXT_remap_index] -#define _gloffset_SecondaryColor3iEXT driDispatchRemapTable[SecondaryColor3iEXT_remap_index] -#define _gloffset_SecondaryColor3ivEXT driDispatchRemapTable[SecondaryColor3ivEXT_remap_index] -#define _gloffset_SecondaryColor3sEXT driDispatchRemapTable[SecondaryColor3sEXT_remap_index] -#define _gloffset_SecondaryColor3svEXT driDispatchRemapTable[SecondaryColor3svEXT_remap_index] -#define _gloffset_SecondaryColor3ubEXT driDispatchRemapTable[SecondaryColor3ubEXT_remap_index] -#define _gloffset_SecondaryColor3ubvEXT driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index] -#define _gloffset_SecondaryColor3uiEXT driDispatchRemapTable[SecondaryColor3uiEXT_remap_index] -#define _gloffset_SecondaryColor3uivEXT driDispatchRemapTable[SecondaryColor3uivEXT_remap_index] -#define _gloffset_SecondaryColor3usEXT driDispatchRemapTable[SecondaryColor3usEXT_remap_index] -#define _gloffset_SecondaryColor3usvEXT driDispatchRemapTable[SecondaryColor3usvEXT_remap_index] -#define _gloffset_SecondaryColorPointerEXT driDispatchRemapTable[SecondaryColorPointerEXT_remap_index] -#define _gloffset_FogCoordPointerEXT driDispatchRemapTable[FogCoordPointerEXT_remap_index] -#define _gloffset_FogCoorddEXT driDispatchRemapTable[FogCoorddEXT_remap_index] -#define _gloffset_FogCoorddvEXT driDispatchRemapTable[FogCoorddvEXT_remap_index] -#define _gloffset_FogCoordfEXT driDispatchRemapTable[FogCoordfEXT_remap_index] -#define _gloffset_FogCoordfvEXT driDispatchRemapTable[FogCoordfvEXT_remap_index] -#define _gloffset_PixelTexGenSGIX driDispatchRemapTable[PixelTexGenSGIX_remap_index] -#define _gloffset_BlendFuncSeparateEXT driDispatchRemapTable[BlendFuncSeparateEXT_remap_index] -#define _gloffset_FlushVertexArrayRangeNV driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index] -#define _gloffset_VertexArrayRangeNV driDispatchRemapTable[VertexArrayRangeNV_remap_index] -#define _gloffset_CombinerInputNV driDispatchRemapTable[CombinerInputNV_remap_index] -#define _gloffset_CombinerOutputNV driDispatchRemapTable[CombinerOutputNV_remap_index] -#define _gloffset_CombinerParameterfNV driDispatchRemapTable[CombinerParameterfNV_remap_index] -#define _gloffset_CombinerParameterfvNV driDispatchRemapTable[CombinerParameterfvNV_remap_index] -#define _gloffset_CombinerParameteriNV driDispatchRemapTable[CombinerParameteriNV_remap_index] -#define _gloffset_CombinerParameterivNV driDispatchRemapTable[CombinerParameterivNV_remap_index] -#define _gloffset_FinalCombinerInputNV driDispatchRemapTable[FinalCombinerInputNV_remap_index] -#define _gloffset_GetCombinerInputParameterfvNV driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index] -#define _gloffset_GetCombinerInputParameterivNV driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index] -#define _gloffset_GetCombinerOutputParameterfvNV driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index] -#define _gloffset_GetCombinerOutputParameterivNV driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index] -#define _gloffset_GetFinalCombinerInputParameterfvNV driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index] -#define _gloffset_GetFinalCombinerInputParameterivNV driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index] -#define _gloffset_WindowPos2dMESA driDispatchRemapTable[WindowPos2dMESA_remap_index] -#define _gloffset_WindowPos2dvMESA driDispatchRemapTable[WindowPos2dvMESA_remap_index] -#define _gloffset_WindowPos2fMESA driDispatchRemapTable[WindowPos2fMESA_remap_index] -#define _gloffset_WindowPos2fvMESA driDispatchRemapTable[WindowPos2fvMESA_remap_index] -#define _gloffset_WindowPos2iMESA driDispatchRemapTable[WindowPos2iMESA_remap_index] -#define _gloffset_WindowPos2ivMESA driDispatchRemapTable[WindowPos2ivMESA_remap_index] -#define _gloffset_WindowPos2sMESA driDispatchRemapTable[WindowPos2sMESA_remap_index] -#define _gloffset_WindowPos2svMESA driDispatchRemapTable[WindowPos2svMESA_remap_index] -#define _gloffset_WindowPos3dMESA driDispatchRemapTable[WindowPos3dMESA_remap_index] -#define _gloffset_WindowPos3dvMESA driDispatchRemapTable[WindowPos3dvMESA_remap_index] -#define _gloffset_WindowPos3fMESA driDispatchRemapTable[WindowPos3fMESA_remap_index] -#define _gloffset_WindowPos3fvMESA driDispatchRemapTable[WindowPos3fvMESA_remap_index] -#define _gloffset_WindowPos3iMESA driDispatchRemapTable[WindowPos3iMESA_remap_index] -#define _gloffset_WindowPos3ivMESA driDispatchRemapTable[WindowPos3ivMESA_remap_index] -#define _gloffset_WindowPos3sMESA driDispatchRemapTable[WindowPos3sMESA_remap_index] -#define _gloffset_WindowPos3svMESA driDispatchRemapTable[WindowPos3svMESA_remap_index] -#define _gloffset_WindowPos4dMESA driDispatchRemapTable[WindowPos4dMESA_remap_index] -#define _gloffset_WindowPos4dvMESA driDispatchRemapTable[WindowPos4dvMESA_remap_index] -#define _gloffset_WindowPos4fMESA driDispatchRemapTable[WindowPos4fMESA_remap_index] -#define _gloffset_WindowPos4fvMESA driDispatchRemapTable[WindowPos4fvMESA_remap_index] -#define _gloffset_WindowPos4iMESA driDispatchRemapTable[WindowPos4iMESA_remap_index] -#define _gloffset_WindowPos4ivMESA driDispatchRemapTable[WindowPos4ivMESA_remap_index] -#define _gloffset_WindowPos4sMESA driDispatchRemapTable[WindowPos4sMESA_remap_index] -#define _gloffset_WindowPos4svMESA driDispatchRemapTable[WindowPos4svMESA_remap_index] -#define _gloffset_MultiModeDrawArraysIBM driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index] -#define _gloffset_MultiModeDrawElementsIBM driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index] -#define _gloffset_DeleteFencesNV driDispatchRemapTable[DeleteFencesNV_remap_index] -#define _gloffset_FinishFenceNV driDispatchRemapTable[FinishFenceNV_remap_index] -#define _gloffset_GenFencesNV driDispatchRemapTable[GenFencesNV_remap_index] -#define _gloffset_GetFenceivNV driDispatchRemapTable[GetFenceivNV_remap_index] -#define _gloffset_IsFenceNV driDispatchRemapTable[IsFenceNV_remap_index] -#define _gloffset_SetFenceNV driDispatchRemapTable[SetFenceNV_remap_index] -#define _gloffset_TestFenceNV driDispatchRemapTable[TestFenceNV_remap_index] -#define _gloffset_AreProgramsResidentNV driDispatchRemapTable[AreProgramsResidentNV_remap_index] -#define _gloffset_ExecuteProgramNV driDispatchRemapTable[ExecuteProgramNV_remap_index] -#define _gloffset_GetProgramParameterdvNV driDispatchRemapTable[GetProgramParameterdvNV_remap_index] -#define _gloffset_GetProgramParameterfvNV driDispatchRemapTable[GetProgramParameterfvNV_remap_index] -#define _gloffset_GetTrackMatrixivNV driDispatchRemapTable[GetTrackMatrixivNV_remap_index] -#define _gloffset_LoadProgramNV driDispatchRemapTable[LoadProgramNV_remap_index] -#define _gloffset_ProgramParameters4dvNV driDispatchRemapTable[ProgramParameters4dvNV_remap_index] -#define _gloffset_ProgramParameters4fvNV driDispatchRemapTable[ProgramParameters4fvNV_remap_index] -#define _gloffset_RequestResidentProgramsNV driDispatchRemapTable[RequestResidentProgramsNV_remap_index] -#define _gloffset_TrackMatrixNV driDispatchRemapTable[TrackMatrixNV_remap_index] -#define _gloffset_VertexAttrib1dNV driDispatchRemapTable[VertexAttrib1dNV_remap_index] -#define _gloffset_VertexAttrib1dvNV driDispatchRemapTable[VertexAttrib1dvNV_remap_index] -#define _gloffset_VertexAttrib1fNV driDispatchRemapTable[VertexAttrib1fNV_remap_index] -#define _gloffset_VertexAttrib1fvNV driDispatchRemapTable[VertexAttrib1fvNV_remap_index] -#define _gloffset_VertexAttrib1sNV driDispatchRemapTable[VertexAttrib1sNV_remap_index] -#define _gloffset_VertexAttrib1svNV driDispatchRemapTable[VertexAttrib1svNV_remap_index] -#define _gloffset_VertexAttrib2dNV driDispatchRemapTable[VertexAttrib2dNV_remap_index] -#define _gloffset_VertexAttrib2dvNV driDispatchRemapTable[VertexAttrib2dvNV_remap_index] -#define _gloffset_VertexAttrib2fNV driDispatchRemapTable[VertexAttrib2fNV_remap_index] -#define _gloffset_VertexAttrib2fvNV driDispatchRemapTable[VertexAttrib2fvNV_remap_index] -#define _gloffset_VertexAttrib2sNV driDispatchRemapTable[VertexAttrib2sNV_remap_index] -#define _gloffset_VertexAttrib2svNV driDispatchRemapTable[VertexAttrib2svNV_remap_index] -#define _gloffset_VertexAttrib3dNV driDispatchRemapTable[VertexAttrib3dNV_remap_index] -#define _gloffset_VertexAttrib3dvNV driDispatchRemapTable[VertexAttrib3dvNV_remap_index] -#define _gloffset_VertexAttrib3fNV driDispatchRemapTable[VertexAttrib3fNV_remap_index] -#define _gloffset_VertexAttrib3fvNV driDispatchRemapTable[VertexAttrib3fvNV_remap_index] -#define _gloffset_VertexAttrib3sNV driDispatchRemapTable[VertexAttrib3sNV_remap_index] -#define _gloffset_VertexAttrib3svNV driDispatchRemapTable[VertexAttrib3svNV_remap_index] -#define _gloffset_VertexAttrib4dNV driDispatchRemapTable[VertexAttrib4dNV_remap_index] -#define _gloffset_VertexAttrib4dvNV driDispatchRemapTable[VertexAttrib4dvNV_remap_index] -#define _gloffset_VertexAttrib4fNV driDispatchRemapTable[VertexAttrib4fNV_remap_index] -#define _gloffset_VertexAttrib4fvNV driDispatchRemapTable[VertexAttrib4fvNV_remap_index] -#define _gloffset_VertexAttrib4sNV driDispatchRemapTable[VertexAttrib4sNV_remap_index] -#define _gloffset_VertexAttrib4svNV driDispatchRemapTable[VertexAttrib4svNV_remap_index] -#define _gloffset_VertexAttrib4ubNV driDispatchRemapTable[VertexAttrib4ubNV_remap_index] -#define _gloffset_VertexAttrib4ubvNV driDispatchRemapTable[VertexAttrib4ubvNV_remap_index] -#define _gloffset_VertexAttribs1dvNV driDispatchRemapTable[VertexAttribs1dvNV_remap_index] -#define _gloffset_VertexAttribs1fvNV driDispatchRemapTable[VertexAttribs1fvNV_remap_index] -#define _gloffset_VertexAttribs1svNV driDispatchRemapTable[VertexAttribs1svNV_remap_index] -#define _gloffset_VertexAttribs2dvNV driDispatchRemapTable[VertexAttribs2dvNV_remap_index] -#define _gloffset_VertexAttribs2fvNV driDispatchRemapTable[VertexAttribs2fvNV_remap_index] -#define _gloffset_VertexAttribs2svNV driDispatchRemapTable[VertexAttribs2svNV_remap_index] -#define _gloffset_VertexAttribs3dvNV driDispatchRemapTable[VertexAttribs3dvNV_remap_index] -#define _gloffset_VertexAttribs3fvNV driDispatchRemapTable[VertexAttribs3fvNV_remap_index] -#define _gloffset_VertexAttribs3svNV driDispatchRemapTable[VertexAttribs3svNV_remap_index] -#define _gloffset_VertexAttribs4dvNV driDispatchRemapTable[VertexAttribs4dvNV_remap_index] -#define _gloffset_VertexAttribs4fvNV driDispatchRemapTable[VertexAttribs4fvNV_remap_index] -#define _gloffset_VertexAttribs4svNV driDispatchRemapTable[VertexAttribs4svNV_remap_index] -#define _gloffset_VertexAttribs4ubvNV driDispatchRemapTable[VertexAttribs4ubvNV_remap_index] -#define _gloffset_PointParameteriNV driDispatchRemapTable[PointParameteriNV_remap_index] -#define _gloffset_PointParameterivNV driDispatchRemapTable[PointParameterivNV_remap_index] -#define _gloffset_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index] -#define _gloffset_GetProgramNamedParameterdvNV driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index] -#define _gloffset_GetProgramNamedParameterfvNV driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index] -#define _gloffset_ProgramNamedParameter4dNV driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index] -#define _gloffset_ProgramNamedParameter4dvNV driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index] -#define _gloffset_ProgramNamedParameter4fNV driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index] -#define _gloffset_ProgramNamedParameter4fvNV driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index] -#define _gloffset_DepthBoundsEXT driDispatchRemapTable[DepthBoundsEXT_remap_index] -#define _gloffset_BlendEquationSeparateEXT driDispatchRemapTable[BlendEquationSeparateEXT_remap_index] -#define _gloffset_BufferParameteriAPPLE driDispatchRemapTable[BufferParameteriAPPLE_remap_index] -#define _gloffset_FlushMappedBufferRangeAPPLE driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index] -#define _gloffset_BindFragDataLocationEXT driDispatchRemapTable[BindFragDataLocationEXT_remap_index] -#define _gloffset_GetFragDataLocationEXT driDispatchRemapTable[GetFragDataLocationEXT_remap_index] -#define _gloffset_ClearColorIiEXT driDispatchRemapTable[ClearColorIiEXT_remap_index] -#define _gloffset_ClearColorIuiEXT driDispatchRemapTable[ClearColorIuiEXT_remap_index] -#define _gloffset_GetTexParameterIivEXT driDispatchRemapTable[GetTexParameterIivEXT_remap_index] -#define _gloffset_GetTexParameterIuivEXT driDispatchRemapTable[GetTexParameterIuivEXT_remap_index] -#define _gloffset_TexParameterIivEXT driDispatchRemapTable[TexParameterIivEXT_remap_index] -#define _gloffset_TexParameterIuivEXT driDispatchRemapTable[TexParameterIuivEXT_remap_index] -#define _gloffset_GetTexParameterPointervAPPLE driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index] -#define _gloffset_TextureRangeAPPLE driDispatchRemapTable[TextureRangeAPPLE_remap_index] -#define _gloffset_GetObjectParameterivAPPLE driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index] -#define _gloffset_ObjectPurgeableAPPLE driDispatchRemapTable[ObjectPurgeableAPPLE_remap_index] -#define _gloffset_ObjectUnpurgeableAPPLE driDispatchRemapTable[ObjectUnpurgeableAPPLE_remap_index] -#define _gloffset_CreateShaderProgramEXT driDispatchRemapTable[CreateShaderProgramEXT_remap_index] -#define _gloffset_TextureBarrierNV driDispatchRemapTable[TextureBarrierNV_remap_index] - -#endif /* !FEATURE_remap_table */ typedef void (GLAPIENTRYP _glptr_NewList)(GLuint, GLenum); #define CALL_NewList(disp, parameters) \ @@ -5042,116 +4565,6 @@ static inline void SET_SeparableFilter2D(struct _glapi_table *disp, void (GLAPIE SET_by_offset(disp, _gloffset_SeparableFilter2D, fn); } -typedef void (GLAPIENTRYP _glptr_GetHistogram)(GLenum, GLboolean, GLenum, GLenum, GLvoid *); -#define CALL_GetHistogram(disp, parameters) \ - (* GET_GetHistogram(disp)) parameters -static inline _glptr_GetHistogram GET_GetHistogram(struct _glapi_table *disp) { - return (_glptr_GetHistogram) (GET_by_offset(disp, _gloffset_GetHistogram)); -} - -static inline void SET_GetHistogram(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)) { - SET_by_offset(disp, _gloffset_GetHistogram, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetHistogramParameterfv)(GLenum, GLenum, GLfloat *); -#define CALL_GetHistogramParameterfv(disp, parameters) \ - (* GET_GetHistogramParameterfv(disp)) parameters -static inline _glptr_GetHistogramParameterfv GET_GetHistogramParameterfv(struct _glapi_table *disp) { - return (_glptr_GetHistogramParameterfv) (GET_by_offset(disp, _gloffset_GetHistogramParameterfv)); -} - -static inline void SET_GetHistogramParameterfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfloat *)) { - SET_by_offset(disp, _gloffset_GetHistogramParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetHistogramParameteriv)(GLenum, GLenum, GLint *); -#define CALL_GetHistogramParameteriv(disp, parameters) \ - (* GET_GetHistogramParameteriv(disp)) parameters -static inline _glptr_GetHistogramParameteriv GET_GetHistogramParameteriv(struct _glapi_table *disp) { - return (_glptr_GetHistogramParameteriv) (GET_by_offset(disp, _gloffset_GetHistogramParameteriv)); -} - -static inline void SET_GetHistogramParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) { - SET_by_offset(disp, _gloffset_GetHistogramParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMinmax)(GLenum, GLboolean, GLenum, GLenum, GLvoid *); -#define CALL_GetMinmax(disp, parameters) \ - (* GET_GetMinmax(disp)) parameters -static inline _glptr_GetMinmax GET_GetMinmax(struct _glapi_table *disp) { - return (_glptr_GetMinmax) (GET_by_offset(disp, _gloffset_GetMinmax)); -} - -static inline void SET_GetMinmax(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)) { - SET_by_offset(disp, _gloffset_GetMinmax, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMinmaxParameterfv)(GLenum, GLenum, GLfloat *); -#define CALL_GetMinmaxParameterfv(disp, parameters) \ - (* GET_GetMinmaxParameterfv(disp)) parameters -static inline _glptr_GetMinmaxParameterfv GET_GetMinmaxParameterfv(struct _glapi_table *disp) { - return (_glptr_GetMinmaxParameterfv) (GET_by_offset(disp, _gloffset_GetMinmaxParameterfv)); -} - -static inline void SET_GetMinmaxParameterfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfloat *)) { - SET_by_offset(disp, _gloffset_GetMinmaxParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMinmaxParameteriv)(GLenum, GLenum, GLint *); -#define CALL_GetMinmaxParameteriv(disp, parameters) \ - (* GET_GetMinmaxParameteriv(disp)) parameters -static inline _glptr_GetMinmaxParameteriv GET_GetMinmaxParameteriv(struct _glapi_table *disp) { - return (_glptr_GetMinmaxParameteriv) (GET_by_offset(disp, _gloffset_GetMinmaxParameteriv)); -} - -static inline void SET_GetMinmaxParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) { - SET_by_offset(disp, _gloffset_GetMinmaxParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Histogram)(GLenum, GLsizei, GLenum, GLboolean); -#define CALL_Histogram(disp, parameters) \ - (* GET_Histogram(disp)) parameters -static inline _glptr_Histogram GET_Histogram(struct _glapi_table *disp) { - return (_glptr_Histogram) (GET_by_offset(disp, _gloffset_Histogram)); -} - -static inline void SET_Histogram(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLboolean)) { - SET_by_offset(disp, _gloffset_Histogram, fn); -} - -typedef void (GLAPIENTRYP _glptr_Minmax)(GLenum, GLenum, GLboolean); -#define CALL_Minmax(disp, parameters) \ - (* GET_Minmax(disp)) parameters -static inline _glptr_Minmax GET_Minmax(struct _glapi_table *disp) { - return (_glptr_Minmax) (GET_by_offset(disp, _gloffset_Minmax)); -} - -static inline void SET_Minmax(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLboolean)) { - SET_by_offset(disp, _gloffset_Minmax, fn); -} - -typedef void (GLAPIENTRYP _glptr_ResetHistogram)(GLenum); -#define CALL_ResetHistogram(disp, parameters) \ - (* GET_ResetHistogram(disp)) parameters -static inline _glptr_ResetHistogram GET_ResetHistogram(struct _glapi_table *disp) { - return (_glptr_ResetHistogram) (GET_by_offset(disp, _gloffset_ResetHistogram)); -} - -static inline void SET_ResetHistogram(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) { - SET_by_offset(disp, _gloffset_ResetHistogram, fn); -} - -typedef void (GLAPIENTRYP _glptr_ResetMinmax)(GLenum); -#define CALL_ResetMinmax(disp, parameters) \ - (* GET_ResetMinmax(disp)) parameters -static inline _glptr_ResetMinmax GET_ResetMinmax(struct _glapi_table *disp) { - return (_glptr_ResetMinmax) (GET_by_offset(disp, _gloffset_ResetMinmax)); -} - -static inline void SET_ResetMinmax(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) { - SET_by_offset(disp, _gloffset_ResetMinmax, fn); -} - typedef const GLubyte * (GLAPIENTRYP _glptr_GetStringi)(GLenum, GLuint); #define CALL_GetStringi(disp, parameters) \ (* GET_GetStringi(disp)) parameters @@ -5372,39 +4785,6 @@ static inline void SET_AttachObjectARB(struct _glapi_table *disp, void (GLAPIENT SET_by_offset(disp, _gloffset_AttachObjectARB, fn); } -typedef void (GLAPIENTRYP _glptr_CompileShaderARB)(GLhandleARB); -#define CALL_CompileShaderARB(disp, parameters) \ - (* GET_CompileShaderARB(disp)) parameters -static inline _glptr_CompileShaderARB GET_CompileShaderARB(struct _glapi_table *disp) { - return (_glptr_CompileShaderARB) (GET_by_offset(disp, _gloffset_CompileShaderARB)); -} - -static inline void SET_CompileShaderARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLhandleARB)) { - SET_by_offset(disp, _gloffset_CompileShaderARB, fn); -} - -typedef GLhandleARB (GLAPIENTRYP _glptr_CreateProgramObjectARB)(void); -#define CALL_CreateProgramObjectARB(disp, parameters) \ - (* GET_CreateProgramObjectARB(disp)) parameters -static inline _glptr_CreateProgramObjectARB GET_CreateProgramObjectARB(struct _glapi_table *disp) { - return (_glptr_CreateProgramObjectARB) (GET_by_offset(disp, _gloffset_CreateProgramObjectARB)); -} - -static inline void SET_CreateProgramObjectARB(struct _glapi_table *disp, GLhandleARB (GLAPIENTRYP fn)(void)) { - SET_by_offset(disp, _gloffset_CreateProgramObjectARB, fn); -} - -typedef GLhandleARB (GLAPIENTRYP _glptr_CreateShaderObjectARB)(GLenum); -#define CALL_CreateShaderObjectARB(disp, parameters) \ - (* GET_CreateShaderObjectARB(disp)) parameters -static inline _glptr_CreateShaderObjectARB GET_CreateShaderObjectARB(struct _glapi_table *disp) { - return (_glptr_CreateShaderObjectARB) (GET_by_offset(disp, _gloffset_CreateShaderObjectARB)); -} - -static inline void SET_CreateShaderObjectARB(struct _glapi_table *disp, GLhandleARB (GLAPIENTRYP fn)(GLenum)) { - SET_by_offset(disp, _gloffset_CreateShaderObjectARB, fn); -} - typedef void (GLAPIENTRYP _glptr_DeleteObjectARB)(GLhandleARB); #define CALL_DeleteObjectARB(disp, parameters) \ (* GET_DeleteObjectARB(disp)) parameters @@ -5482,50 +4862,6 @@ static inline void SET_GetObjectParameterivARB(struct _glapi_table *disp, void ( SET_by_offset(disp, _gloffset_GetObjectParameterivARB, fn); } -typedef void (GLAPIENTRYP _glptr_GetShaderSourceARB)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *); -#define CALL_GetShaderSourceARB(disp, parameters) \ - (* GET_GetShaderSourceARB(disp)) parameters -static inline _glptr_GetShaderSourceARB GET_GetShaderSourceARB(struct _glapi_table *disp) { - return (_glptr_GetShaderSourceARB) (GET_by_offset(disp, _gloffset_GetShaderSourceARB)); -} - -static inline void SET_GetShaderSourceARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)) { - SET_by_offset(disp, _gloffset_GetShaderSourceARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_LinkProgramARB)(GLhandleARB); -#define CALL_LinkProgramARB(disp, parameters) \ - (* GET_LinkProgramARB(disp)) parameters -static inline _glptr_LinkProgramARB GET_LinkProgramARB(struct _glapi_table *disp) { - return (_glptr_LinkProgramARB) (GET_by_offset(disp, _gloffset_LinkProgramARB)); -} - -static inline void SET_LinkProgramARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLhandleARB)) { - SET_by_offset(disp, _gloffset_LinkProgramARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ShaderSourceARB)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *); -#define CALL_ShaderSourceARB(disp, parameters) \ - (* GET_ShaderSourceARB(disp)) parameters -static inline _glptr_ShaderSourceARB GET_ShaderSourceARB(struct _glapi_table *disp) { - return (_glptr_ShaderSourceARB) (GET_by_offset(disp, _gloffset_ShaderSourceARB)); -} - -static inline void SET_ShaderSourceARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *)) { - SET_by_offset(disp, _gloffset_ShaderSourceARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ValidateProgramARB)(GLhandleARB); -#define CALL_ValidateProgramARB(disp, parameters) \ - (* GET_ValidateProgramARB(disp)) parameters -static inline _glptr_ValidateProgramARB GET_ValidateProgramARB(struct _glapi_table *disp) { - return (_glptr_ValidateProgramARB) (GET_by_offset(disp, _gloffset_ValidateProgramARB)); -} - -static inline void SET_ValidateProgramARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLhandleARB)) { - SET_by_offset(disp, _gloffset_ValidateProgramARB, fn); -} - typedef void (GLAPIENTRYP _glptr_GetActiveAttribARB)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *); #define CALL_GetActiveAttribARB(disp, parameters) \ (* GET_GetActiveAttribARB(disp)) parameters @@ -6560,116 +5896,6 @@ static inline void SET_TestFenceNV(struct _glapi_table *disp, GLboolean (GLAPIEN SET_by_offset(disp, _gloffset_TestFenceNV, fn); } -typedef GLboolean (GLAPIENTRYP _glptr_AreProgramsResidentNV)(GLsizei, const GLuint *, GLboolean *); -#define CALL_AreProgramsResidentNV(disp, parameters) \ - (* GET_AreProgramsResidentNV(disp)) parameters -static inline _glptr_AreProgramsResidentNV GET_AreProgramsResidentNV(struct _glapi_table *disp) { - return (_glptr_AreProgramsResidentNV) (GET_by_offset(disp, _gloffset_AreProgramsResidentNV)); -} - -static inline void SET_AreProgramsResidentNV(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLsizei, const GLuint *, GLboolean *)) { - SET_by_offset(disp, _gloffset_AreProgramsResidentNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ExecuteProgramNV)(GLenum, GLuint, const GLfloat *); -#define CALL_ExecuteProgramNV(disp, parameters) \ - (* GET_ExecuteProgramNV(disp)) parameters -static inline _glptr_ExecuteProgramNV GET_ExecuteProgramNV(struct _glapi_table *disp) { - return (_glptr_ExecuteProgramNV) (GET_by_offset(disp, _gloffset_ExecuteProgramNV)); -} - -static inline void SET_ExecuteProgramNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, const GLfloat *)) { - SET_by_offset(disp, _gloffset_ExecuteProgramNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramParameterdvNV)(GLenum, GLuint, GLenum, GLdouble *); -#define CALL_GetProgramParameterdvNV(disp, parameters) \ - (* GET_GetProgramParameterdvNV(disp)) parameters -static inline _glptr_GetProgramParameterdvNV GET_GetProgramParameterdvNV(struct _glapi_table *disp) { - return (_glptr_GetProgramParameterdvNV) (GET_by_offset(disp, _gloffset_GetProgramParameterdvNV)); -} - -static inline void SET_GetProgramParameterdvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLenum, GLdouble *)) { - SET_by_offset(disp, _gloffset_GetProgramParameterdvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramParameterfvNV)(GLenum, GLuint, GLenum, GLfloat *); -#define CALL_GetProgramParameterfvNV(disp, parameters) \ - (* GET_GetProgramParameterfvNV(disp)) parameters -static inline _glptr_GetProgramParameterfvNV GET_GetProgramParameterfvNV(struct _glapi_table *disp) { - return (_glptr_GetProgramParameterfvNV) (GET_by_offset(disp, _gloffset_GetProgramParameterfvNV)); -} - -static inline void SET_GetProgramParameterfvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLenum, GLfloat *)) { - SET_by_offset(disp, _gloffset_GetProgramParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTrackMatrixivNV)(GLenum, GLuint, GLenum, GLint *); -#define CALL_GetTrackMatrixivNV(disp, parameters) \ - (* GET_GetTrackMatrixivNV(disp)) parameters -static inline _glptr_GetTrackMatrixivNV GET_GetTrackMatrixivNV(struct _glapi_table *disp) { - return (_glptr_GetTrackMatrixivNV) (GET_by_offset(disp, _gloffset_GetTrackMatrixivNV)); -} - -static inline void SET_GetTrackMatrixivNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLenum, GLint *)) { - SET_by_offset(disp, _gloffset_GetTrackMatrixivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadProgramNV)(GLenum, GLuint, GLsizei, const GLubyte *); -#define CALL_LoadProgramNV(disp, parameters) \ - (* GET_LoadProgramNV(disp)) parameters -static inline _glptr_LoadProgramNV GET_LoadProgramNV(struct _glapi_table *disp) { - return (_glptr_LoadProgramNV) (GET_by_offset(disp, _gloffset_LoadProgramNV)); -} - -static inline void SET_LoadProgramNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, const GLubyte *)) { - SET_by_offset(disp, _gloffset_LoadProgramNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramParameters4dvNV)(GLenum, GLuint, GLsizei, const GLdouble *); -#define CALL_ProgramParameters4dvNV(disp, parameters) \ - (* GET_ProgramParameters4dvNV(disp)) parameters -static inline _glptr_ProgramParameters4dvNV GET_ProgramParameters4dvNV(struct _glapi_table *disp) { - return (_glptr_ProgramParameters4dvNV) (GET_by_offset(disp, _gloffset_ProgramParameters4dvNV)); -} - -static inline void SET_ProgramParameters4dvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, const GLdouble *)) { - SET_by_offset(disp, _gloffset_ProgramParameters4dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramParameters4fvNV)(GLenum, GLuint, GLsizei, const GLfloat *); -#define CALL_ProgramParameters4fvNV(disp, parameters) \ - (* GET_ProgramParameters4fvNV(disp)) parameters -static inline _glptr_ProgramParameters4fvNV GET_ProgramParameters4fvNV(struct _glapi_table *disp) { - return (_glptr_ProgramParameters4fvNV) (GET_by_offset(disp, _gloffset_ProgramParameters4fvNV)); -} - -static inline void SET_ProgramParameters4fvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, const GLfloat *)) { - SET_by_offset(disp, _gloffset_ProgramParameters4fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_RequestResidentProgramsNV)(GLsizei, const GLuint *); -#define CALL_RequestResidentProgramsNV(disp, parameters) \ - (* GET_RequestResidentProgramsNV(disp)) parameters -static inline _glptr_RequestResidentProgramsNV GET_RequestResidentProgramsNV(struct _glapi_table *disp) { - return (_glptr_RequestResidentProgramsNV) (GET_by_offset(disp, _gloffset_RequestResidentProgramsNV)); -} - -static inline void SET_RequestResidentProgramsNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) { - SET_by_offset(disp, _gloffset_RequestResidentProgramsNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_TrackMatrixNV)(GLenum, GLuint, GLenum, GLenum); -#define CALL_TrackMatrixNV(disp, parameters) \ - (* GET_TrackMatrixNV(disp)) parameters -static inline _glptr_TrackMatrixNV GET_TrackMatrixNV(struct _glapi_table *disp) { - return (_glptr_TrackMatrixNV) (GET_by_offset(disp, _gloffset_TrackMatrixNV)); -} - -static inline void SET_TrackMatrixNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLenum, GLenum)) { - SET_by_offset(disp, _gloffset_TrackMatrixNV, fn); -} - typedef void (GLAPIENTRYP _glptr_VertexAttrib1dNV)(GLuint, GLdouble); #define CALL_VertexAttrib1dNV(disp, parameters) \ (* GET_VertexAttrib1dNV(disp)) parameters @@ -6956,149 +6182,6 @@ static inline void SET_VertexAttrib4ubvNV(struct _glapi_table *disp, void (GLAPI SET_by_offset(disp, _gloffset_VertexAttrib4ubvNV, fn); } -typedef void (GLAPIENTRYP _glptr_VertexAttribs1dvNV)(GLuint, GLsizei, const GLdouble *); -#define CALL_VertexAttribs1dvNV(disp, parameters) \ - (* GET_VertexAttribs1dvNV(disp)) parameters -static inline _glptr_VertexAttribs1dvNV GET_VertexAttribs1dvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs1dvNV) (GET_by_offset(disp, _gloffset_VertexAttribs1dvNV)); -} - -static inline void SET_VertexAttribs1dvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLdouble *)) { - SET_by_offset(disp, _gloffset_VertexAttribs1dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs1fvNV)(GLuint, GLsizei, const GLfloat *); -#define CALL_VertexAttribs1fvNV(disp, parameters) \ - (* GET_VertexAttribs1fvNV(disp)) parameters -static inline _glptr_VertexAttribs1fvNV GET_VertexAttribs1fvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs1fvNV) (GET_by_offset(disp, _gloffset_VertexAttribs1fvNV)); -} - -static inline void SET_VertexAttribs1fvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLfloat *)) { - SET_by_offset(disp, _gloffset_VertexAttribs1fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs1svNV)(GLuint, GLsizei, const GLshort *); -#define CALL_VertexAttribs1svNV(disp, parameters) \ - (* GET_VertexAttribs1svNV(disp)) parameters -static inline _glptr_VertexAttribs1svNV GET_VertexAttribs1svNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs1svNV) (GET_by_offset(disp, _gloffset_VertexAttribs1svNV)); -} - -static inline void SET_VertexAttribs1svNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLshort *)) { - SET_by_offset(disp, _gloffset_VertexAttribs1svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs2dvNV)(GLuint, GLsizei, const GLdouble *); -#define CALL_VertexAttribs2dvNV(disp, parameters) \ - (* GET_VertexAttribs2dvNV(disp)) parameters -static inline _glptr_VertexAttribs2dvNV GET_VertexAttribs2dvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs2dvNV) (GET_by_offset(disp, _gloffset_VertexAttribs2dvNV)); -} - -static inline void SET_VertexAttribs2dvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLdouble *)) { - SET_by_offset(disp, _gloffset_VertexAttribs2dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs2fvNV)(GLuint, GLsizei, const GLfloat *); -#define CALL_VertexAttribs2fvNV(disp, parameters) \ - (* GET_VertexAttribs2fvNV(disp)) parameters -static inline _glptr_VertexAttribs2fvNV GET_VertexAttribs2fvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs2fvNV) (GET_by_offset(disp, _gloffset_VertexAttribs2fvNV)); -} - -static inline void SET_VertexAttribs2fvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLfloat *)) { - SET_by_offset(disp, _gloffset_VertexAttribs2fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs2svNV)(GLuint, GLsizei, const GLshort *); -#define CALL_VertexAttribs2svNV(disp, parameters) \ - (* GET_VertexAttribs2svNV(disp)) parameters -static inline _glptr_VertexAttribs2svNV GET_VertexAttribs2svNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs2svNV) (GET_by_offset(disp, _gloffset_VertexAttribs2svNV)); -} - -static inline void SET_VertexAttribs2svNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLshort *)) { - SET_by_offset(disp, _gloffset_VertexAttribs2svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs3dvNV)(GLuint, GLsizei, const GLdouble *); -#define CALL_VertexAttribs3dvNV(disp, parameters) \ - (* GET_VertexAttribs3dvNV(disp)) parameters -static inline _glptr_VertexAttribs3dvNV GET_VertexAttribs3dvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs3dvNV) (GET_by_offset(disp, _gloffset_VertexAttribs3dvNV)); -} - -static inline void SET_VertexAttribs3dvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLdouble *)) { - SET_by_offset(disp, _gloffset_VertexAttribs3dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs3fvNV)(GLuint, GLsizei, const GLfloat *); -#define CALL_VertexAttribs3fvNV(disp, parameters) \ - (* GET_VertexAttribs3fvNV(disp)) parameters -static inline _glptr_VertexAttribs3fvNV GET_VertexAttribs3fvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs3fvNV) (GET_by_offset(disp, _gloffset_VertexAttribs3fvNV)); -} - -static inline void SET_VertexAttribs3fvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLfloat *)) { - SET_by_offset(disp, _gloffset_VertexAttribs3fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs3svNV)(GLuint, GLsizei, const GLshort *); -#define CALL_VertexAttribs3svNV(disp, parameters) \ - (* GET_VertexAttribs3svNV(disp)) parameters -static inline _glptr_VertexAttribs3svNV GET_VertexAttribs3svNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs3svNV) (GET_by_offset(disp, _gloffset_VertexAttribs3svNV)); -} - -static inline void SET_VertexAttribs3svNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLshort *)) { - SET_by_offset(disp, _gloffset_VertexAttribs3svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4dvNV)(GLuint, GLsizei, const GLdouble *); -#define CALL_VertexAttribs4dvNV(disp, parameters) \ - (* GET_VertexAttribs4dvNV(disp)) parameters -static inline _glptr_VertexAttribs4dvNV GET_VertexAttribs4dvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs4dvNV) (GET_by_offset(disp, _gloffset_VertexAttribs4dvNV)); -} - -static inline void SET_VertexAttribs4dvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLdouble *)) { - SET_by_offset(disp, _gloffset_VertexAttribs4dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4fvNV)(GLuint, GLsizei, const GLfloat *); -#define CALL_VertexAttribs4fvNV(disp, parameters) \ - (* GET_VertexAttribs4fvNV(disp)) parameters -static inline _glptr_VertexAttribs4fvNV GET_VertexAttribs4fvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs4fvNV) (GET_by_offset(disp, _gloffset_VertexAttribs4fvNV)); -} - -static inline void SET_VertexAttribs4fvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLfloat *)) { - SET_by_offset(disp, _gloffset_VertexAttribs4fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4svNV)(GLuint, GLsizei, const GLshort *); -#define CALL_VertexAttribs4svNV(disp, parameters) \ - (* GET_VertexAttribs4svNV(disp)) parameters -static inline _glptr_VertexAttribs4svNV GET_VertexAttribs4svNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs4svNV) (GET_by_offset(disp, _gloffset_VertexAttribs4svNV)); -} - -static inline void SET_VertexAttribs4svNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLshort *)) { - SET_by_offset(disp, _gloffset_VertexAttribs4svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4ubvNV)(GLuint, GLsizei, const GLubyte *); -#define CALL_VertexAttribs4ubvNV(disp, parameters) \ - (* GET_VertexAttribs4ubvNV(disp)) parameters -static inline _glptr_VertexAttribs4ubvNV GET_VertexAttribs4ubvNV(struct _glapi_table *disp) { - return (_glptr_VertexAttribs4ubvNV) (GET_by_offset(disp, _gloffset_VertexAttribs4ubvNV)); -} - -static inline void SET_VertexAttribs4ubvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLubyte *)) { - SET_by_offset(disp, _gloffset_VertexAttribs4ubvNV, fn); -} - typedef void (GLAPIENTRYP _glptr_PointParameteriNV)(GLenum, GLint); #define CALL_PointParameteriNV(disp, parameters) \ (* GET_PointParameteriNV(disp)) parameters @@ -7132,72 +6215,6 @@ static inline void SET_ActiveStencilFaceEXT(struct _glapi_table *disp, void (GLA SET_by_offset(disp, _gloffset_ActiveStencilFaceEXT, fn); } -typedef void (GLAPIENTRYP _glptr_GetProgramNamedParameterdvNV)(GLuint, GLsizei, const GLubyte *, GLdouble *); -#define CALL_GetProgramNamedParameterdvNV(disp, parameters) \ - (* GET_GetProgramNamedParameterdvNV(disp)) parameters -static inline _glptr_GetProgramNamedParameterdvNV GET_GetProgramNamedParameterdvNV(struct _glapi_table *disp) { - return (_glptr_GetProgramNamedParameterdvNV) (GET_by_offset(disp, _gloffset_GetProgramNamedParameterdvNV)); -} - -static inline void SET_GetProgramNamedParameterdvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLubyte *, GLdouble *)) { - SET_by_offset(disp, _gloffset_GetProgramNamedParameterdvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramNamedParameterfvNV)(GLuint, GLsizei, const GLubyte *, GLfloat *); -#define CALL_GetProgramNamedParameterfvNV(disp, parameters) \ - (* GET_GetProgramNamedParameterfvNV(disp)) parameters -static inline _glptr_GetProgramNamedParameterfvNV GET_GetProgramNamedParameterfvNV(struct _glapi_table *disp) { - return (_glptr_GetProgramNamedParameterfvNV) (GET_by_offset(disp, _gloffset_GetProgramNamedParameterfvNV)); -} - -static inline void SET_GetProgramNamedParameterfvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLubyte *, GLfloat *)) { - SET_by_offset(disp, _gloffset_GetProgramNamedParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4dNV)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble); -#define CALL_ProgramNamedParameter4dNV(disp, parameters) \ - (* GET_ProgramNamedParameter4dNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4dNV GET_ProgramNamedParameter4dNV(struct _glapi_table *disp) { - return (_glptr_ProgramNamedParameter4dNV) (GET_by_offset(disp, _gloffset_ProgramNamedParameter4dNV)); -} - -static inline void SET_ProgramNamedParameter4dNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble)) { - SET_by_offset(disp, _gloffset_ProgramNamedParameter4dNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4dvNV)(GLuint, GLsizei, const GLubyte *, const GLdouble *); -#define CALL_ProgramNamedParameter4dvNV(disp, parameters) \ - (* GET_ProgramNamedParameter4dvNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4dvNV GET_ProgramNamedParameter4dvNV(struct _glapi_table *disp) { - return (_glptr_ProgramNamedParameter4dvNV) (GET_by_offset(disp, _gloffset_ProgramNamedParameter4dvNV)); -} - -static inline void SET_ProgramNamedParameter4dvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLubyte *, const GLdouble *)) { - SET_by_offset(disp, _gloffset_ProgramNamedParameter4dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4fNV)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat); -#define CALL_ProgramNamedParameter4fNV(disp, parameters) \ - (* GET_ProgramNamedParameter4fNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4fNV GET_ProgramNamedParameter4fNV(struct _glapi_table *disp) { - return (_glptr_ProgramNamedParameter4fNV) (GET_by_offset(disp, _gloffset_ProgramNamedParameter4fNV)); -} - -static inline void SET_ProgramNamedParameter4fNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat)) { - SET_by_offset(disp, _gloffset_ProgramNamedParameter4fNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4fvNV)(GLuint, GLsizei, const GLubyte *, const GLfloat *); -#define CALL_ProgramNamedParameter4fvNV(disp, parameters) \ - (* GET_ProgramNamedParameter4fvNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4fvNV GET_ProgramNamedParameter4fvNV(struct _glapi_table *disp) { - return (_glptr_ProgramNamedParameter4fvNV) (GET_by_offset(disp, _gloffset_ProgramNamedParameter4fvNV)); -} - -static inline void SET_ProgramNamedParameter4fvNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLubyte *, const GLfloat *)) { - SET_by_offset(disp, _gloffset_ProgramNamedParameter4fvNV, fn); -} - typedef void (GLAPIENTRYP _glptr_DepthBoundsEXT)(GLclampd, GLclampd); #define CALL_DepthBoundsEXT(disp, parameters) \ (* GET_DepthBoundsEXT(disp)) parameters @@ -7352,27 +6369,5 @@ static inline void SET_TextureRangeAPPLE(struct _glapi_table *disp, void (GLAPIE SET_by_offset(disp, _gloffset_TextureRangeAPPLE, fn); } -typedef GLuint (GLAPIENTRYP _glptr_CreateShaderProgramEXT)(GLenum, const GLchar *); -#define CALL_CreateShaderProgramEXT(disp, parameters) \ - (* GET_CreateShaderProgramEXT(disp)) parameters -static inline _glptr_CreateShaderProgramEXT GET_CreateShaderProgramEXT(struct _glapi_table *disp) { - return (_glptr_CreateShaderProgramEXT) (GET_by_offset(disp, _gloffset_CreateShaderProgramEXT)); -} - -static inline void SET_CreateShaderProgramEXT(struct _glapi_table *disp, GLuint (GLAPIENTRYP fn)(GLenum, const GLchar *)) { - SET_by_offset(disp, _gloffset_CreateShaderProgramEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TextureBarrierNV)(void); -#define CALL_TextureBarrierNV(disp, parameters) \ - (* GET_TextureBarrierNV(disp)) parameters -static inline _glptr_TextureBarrierNV GET_TextureBarrierNV(struct _glapi_table *disp) { - return (_glptr_TextureBarrierNV) (GET_by_offset(disp, _gloffset_TextureBarrierNV)); -} - -static inline void SET_TextureBarrierNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) { - SET_by_offset(disp, _gloffset_TextureBarrierNV, fn); -} - #endif /* !defined( _DISPATCH_H_ ) */ diff --git a/reactos/dll/opengl/mesa/main/dlist.c b/reactos/dll/opengl/mesa/main/dlist.c index ea359e05c70..ee0179cfdfa 100644 --- a/reactos/dll/opengl/mesa/main/dlist.c +++ b/reactos/dll/opengl/mesa/main/dlist.c @@ -193,7 +193,6 @@ typedef enum OPCODE_FRONT_FACE, OPCODE_FRUSTUM, OPCODE_HINT, - OPCODE_HISTOGRAM, OPCODE_INDEX_MASK, OPCODE_INIT_NAMES, OPCODE_LIGHT, @@ -210,7 +209,6 @@ typedef enum OPCODE_MAPGRID1, OPCODE_MAPGRID2, OPCODE_MATRIX_MODE, - OPCODE_MIN_MAX, OPCODE_MULT_MATRIX, OPCODE_ORTHO, OPCODE_PASSTHROUGH, @@ -231,8 +229,6 @@ typedef enum OPCODE_PUSH_NAME, OPCODE_RASTER_POS, OPCODE_READ_BUFFER, - OPCODE_RESET_HISTOGRAM, - OPCODE_RESET_MIN_MAX, OPCODE_ROTATE, OPCODE_SCALE, OPCODE_SCISSOR, @@ -281,9 +277,6 @@ typedef enum OPCODE_TEXPARAMETER_I, OPCODE_TEXPARAMETER_UI, - /* GL_NV_texture_barrier */ - OPCODE_TEXTURE_BARRIER_NV, - /* The following three are meta instructions */ OPCODE_ERROR, /* raise compiled-in error */ OPCODE_CONTINUE, @@ -1899,27 +1892,6 @@ save_Hint(GLenum target, GLenum mode) } -static void GLAPIENTRY -save_Histogram(GLenum target, GLsizei width, GLenum internalFormat, - GLboolean sink) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_HISTOGRAM, 4); - if (n) { - n[1].e = target; - n[2].i = width; - n[3].e = internalFormat; - n[4].b = sink; - } - if (ctx->ExecuteFlag) { - CALL_Histogram(ctx->Exec, (target, width, internalFormat, sink)); - } -} - - static void GLAPIENTRY save_IndexMask(GLuint mask) { @@ -2436,25 +2408,6 @@ save_MatrixMode(GLenum mode) } -static void GLAPIENTRY -save_Minmax(GLenum target, GLenum internalFormat, GLboolean sink) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_MIN_MAX, 3); - if (n) { - n[1].e = target; - n[2].e = internalFormat; - n[3].b = sink; - } - if (ctx->ExecuteFlag) { - CALL_Minmax(ctx->Exec, (target, internalFormat, sink)); - } -} - - static void GLAPIENTRY save_MultMatrixf(const GLfloat * m) { @@ -3036,38 +2989,6 @@ save_ReadBuffer(GLenum mode) } -static void GLAPIENTRY -save_ResetHistogram(GLenum target) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_RESET_HISTOGRAM, 1); - if (n) { - n[1].e = target; - } - if (ctx->ExecuteFlag) { - CALL_ResetHistogram(ctx->Exec, (target)); - } -} - - -static void GLAPIENTRY -save_ResetMinmax(GLenum target) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_RESET_MIN_MAX, 1); - if (n) { - n[1].e = target; - } - if (ctx->ExecuteFlag) { - CALL_ResetMinmax(ctx->Exec, (target)); - } -} - - static void GLAPIENTRY save_Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { @@ -3799,69 +3720,6 @@ save_SampleCoverageARB(GLclampf value, GLboolean invert) } -/* - * GL_NV_vertex_program - */ - -#if FEATURE_NV_fragment_program -static void GLAPIENTRY -save_ProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte * name, - GLfloat x, GLfloat y, GLfloat z, GLfloat w) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - - n = alloc_instruction(ctx, OPCODE_PROGRAM_NAMED_PARAMETER_NV, 6); - if (n) { - GLubyte *nameCopy = (GLubyte *) malloc(len); - if (!nameCopy) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramNamedParameter4fNV"); - return; - } - memcpy(nameCopy, name, len); - n[1].ui = id; - n[2].i = len; - n[3].data = nameCopy; - n[4].f = x; - n[5].f = y; - n[6].f = z; - n[7].f = w; - } - if (ctx->ExecuteFlag) { - CALL_ProgramNamedParameter4fNV(ctx->Exec, (id, len, name, x, y, z, w)); - } -} - -static void GLAPIENTRY -save_ProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte * name, - const float v[]) -{ - save_ProgramNamedParameter4fNV(id, len, name, v[0], v[1], v[2], v[3]); -} - - -static void GLAPIENTRY -save_ProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte * name, - GLdouble x, GLdouble y, GLdouble z, GLdouble w) -{ - save_ProgramNamedParameter4fNV(id, len, name, (GLfloat) x, (GLfloat) y, - (GLfloat) z, (GLfloat) w); -} - - -static void GLAPIENTRY -save_ProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte * name, - const double v[]) -{ - save_ProgramNamedParameter4fNV(id, len, name, (GLfloat) v[0], - (GLfloat) v[1], (GLfloat) v[2], - (GLfloat) v[3]); -} -#endif - - /* GL_EXT_depth_bounds_test */ static void GLAPIENTRY save_DepthBoundsEXT(GLclampd zmin, GLclampd zmax) @@ -4555,19 +4413,6 @@ exec_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) CALL_GetTexParameterIuivEXT(ctx->Exec, (target, pname, params)); } - -/* GL_NV_texture_barrier */ -static void GLAPIENTRY -save_TextureBarrierNV(void) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - alloc_instruction(ctx, OPCODE_TEXTURE_BARRIER_NV, 0); - if (ctx->ExecuteFlag) { - CALL_TextureBarrierNV(ctx->Exec, ()); - } -} - /** * Save an error-generating command into display list. * @@ -4924,9 +4769,6 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_HINT: CALL_Hint(ctx->Exec, (n[1].e, n[2].e)); break; - case OPCODE_HISTOGRAM: - CALL_Histogram(ctx->Exec, (n[1].e, n[2].i, n[3].e, n[4].b)); - break; case OPCODE_INDEX_MASK: CALL_IndexMask(ctx->Exec, (n[1].ui)); break; @@ -5021,9 +4863,6 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_MATRIX_MODE: CALL_MatrixMode(ctx->Exec, (n[1].e)); break; - case OPCODE_MIN_MAX: - CALL_Minmax(ctx->Exec, (n[1].e, n[2].e, n[3].b)); - break; case OPCODE_MULT_MATRIX: if (sizeof(Node) == sizeof(GLfloat)) { CALL_MultMatrixf(ctx->Exec, (&n[1].f)); @@ -5107,12 +4946,6 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_READ_BUFFER: CALL_ReadBuffer(ctx->Exec, (n[1].e)); break; - case OPCODE_RESET_HISTOGRAM: - CALL_ResetHistogram(ctx->Exec, (n[1].e)); - break; - case OPCODE_RESET_MIN_MAX: - CALL_ResetMinmax(ctx->Exec, (n[1].e)); - break; case OPCODE_ROTATE: CALL_Rotatef(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f)); break; @@ -5232,38 +5065,6 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_WINDOW_POS_ARB: /* GL_ARB_window_pos */ CALL_WindowPos3fMESA(ctx->Exec, (n[1].f, n[2].f, n[3].f)); break; -#if FEATURE_NV_vertex_program - case OPCODE_EXECUTE_PROGRAM_NV: - { - GLfloat v[4]; - v[0] = n[3].f; - v[1] = n[4].f; - v[2] = n[5].f; - v[3] = n[6].f; - CALL_ExecuteProgramNV(ctx->Exec, (n[1].e, n[2].ui, v)); - } - break; - case OPCODE_REQUEST_RESIDENT_PROGRAMS_NV: - CALL_RequestResidentProgramsNV(ctx->Exec, (n[1].ui, - (GLuint *) n[2].data)); - break; - case OPCODE_LOAD_PROGRAM_NV: - CALL_LoadProgramNV(ctx->Exec, (n[1].e, n[2].ui, n[3].i, - (const GLubyte *) n[4].data)); - break; - case OPCODE_TRACK_MATRIX_NV: - CALL_TrackMatrixNV(ctx->Exec, (n[1].e, n[2].ui, n[3].e, n[4].e)); - break; -#endif - -#if FEATURE_NV_fragment_program - case OPCODE_PROGRAM_NAMED_PARAMETER_NV: - CALL_ProgramNamedParameter4fNV(ctx->Exec, (n[1].ui, n[2].i, - (const GLubyte *) n[3]. - data, n[4].f, n[5].f, - n[6].f, n[7].f)); - break; -#endif case OPCODE_DEPTH_BOUNDS_EXT: CALL_DepthBoundsEXT(ctx->Exec, (n[1].f, n[2].f)); @@ -5359,10 +5160,6 @@ execute_list(struct gl_context *ctx, GLuint list) } break; - case OPCODE_TEXTURE_BARRIER_NV: - CALL_TextureBarrierNV(ctx->Exec, ()); - break; - case OPCODE_CONTINUE: n = (Node *) n[1].next; break; @@ -6175,56 +5972,6 @@ exec_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) CALL_GetConvolutionParameteriv(ctx->Exec, (target, pname, params)); } -static void GLAPIENTRY -exec_GetHistogram(GLenum target, GLboolean reset, GLenum format, - GLenum type, GLvoid *values) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetHistogram(ctx->Exec, (target, reset, format, type, values)); -} - -static void GLAPIENTRY -exec_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetHistogramParameterfv(ctx->Exec, (target, pname, params)); -} - -static void GLAPIENTRY -exec_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetHistogramParameteriv(ctx->Exec, (target, pname, params)); -} - -static void GLAPIENTRY -exec_GetMinmax(GLenum target, GLboolean reset, GLenum format, - GLenum type, GLvoid *values) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetMinmax(ctx->Exec, (target, reset, format, type, values)); -} - -static void GLAPIENTRY -exec_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetMinmaxParameterfv(ctx->Exec, (target, pname, params)); -} - -static void GLAPIENTRY -exec_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetMinmaxParameteriv(ctx->Exec, (target, pname, params)); -} - static void GLAPIENTRY exec_GetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) @@ -6606,17 +6353,7 @@ _mesa_create_save_table(void) SET_GetConvolutionFilter(table, exec_GetConvolutionFilter); SET_GetConvolutionParameterfv(table, exec_GetConvolutionParameterfv); SET_GetConvolutionParameteriv(table, exec_GetConvolutionParameteriv); - SET_GetHistogram(table, exec_GetHistogram); - SET_GetHistogramParameterfv(table, exec_GetHistogramParameterfv); - SET_GetHistogramParameteriv(table, exec_GetHistogramParameteriv); - SET_GetMinmax(table, exec_GetMinmax); - SET_GetMinmaxParameterfv(table, exec_GetMinmaxParameterfv); - SET_GetMinmaxParameteriv(table, exec_GetMinmaxParameteriv); SET_GetSeparableFilter(table, exec_GetSeparableFilter); - SET_Histogram(table, save_Histogram); - SET_Minmax(table, save_Minmax); - SET_ResetHistogram(table, save_ResetHistogram); - SET_ResetMinmax(table, save_ResetMinmax); SET_SeparableFilter2D(table, exec_SeparableFilter2D); /* 2. GL_EXT_blend_color */ @@ -6696,36 +6433,6 @@ _mesa_create_save_table(void) SET_MultiModeDrawArraysIBM(table, exec_MultiModeDrawArraysIBM); SET_MultiModeDrawElementsIBM(table, exec_MultiModeDrawElementsIBM); -#if FEATURE_NV_vertex_program - /* 233. GL_NV_vertex_program */ - /* The following commands DO NOT go into display lists: - * AreProgramsResidentNV, IsProgramNV, GenProgramsNV, DeleteProgramsNV, - * VertexAttribPointerNV, GetProgram*, GetVertexAttrib* - */ - SET_ExecuteProgramNV(table, save_ExecuteProgramNV); - SET_AreProgramsResidentNV(table, _mesa_AreProgramsResidentNV); - SET_RequestResidentProgramsNV(table, save_RequestResidentProgramsNV); - SET_GetProgramParameterfvNV(table, _mesa_GetProgramParameterfvNV); - SET_GetProgramParameterdvNV(table, _mesa_GetProgramParameterdvNV); - SET_GetTrackMatrixivNV(table, _mesa_GetTrackMatrixivNV); - SET_LoadProgramNV(table, save_LoadProgramNV); - SET_ProgramParameters4dvNV(table, save_ProgramParameters4dvNV); - SET_ProgramParameters4fvNV(table, save_ProgramParameters4fvNV); - SET_TrackMatrixNV(table, save_TrackMatrixNV); -#endif - - /* 282. GL_NV_fragment_program */ -#if FEATURE_NV_fragment_program - SET_ProgramNamedParameter4fNV(table, save_ProgramNamedParameter4fNV); - SET_ProgramNamedParameter4dNV(table, save_ProgramNamedParameter4dNV); - SET_ProgramNamedParameter4fvNV(table, save_ProgramNamedParameter4fvNV); - SET_ProgramNamedParameter4dvNV(table, save_ProgramNamedParameter4dvNV); - SET_GetProgramNamedParameterfvNV(table, - _mesa_GetProgramNamedParameterfvNV); - SET_GetProgramNamedParameterdvNV(table, - _mesa_GetProgramNamedParameterdvNV); -#endif - /* 262. GL_NV_point_sprite */ SET_PointParameteriNV(table, save_PointParameteriNV); SET_PointParameterivNV(table, save_PointParameterivNV); @@ -6773,9 +6480,6 @@ _mesa_create_save_table(void) SET_GetTexParameterIivEXT(table, exec_GetTexParameterIiv); SET_GetTexParameterIuivEXT(table, exec_GetTexParameterIuiv); - /* GL_NV_texture_barrier */ - SET_TextureBarrierNV(table, save_TextureBarrierNV); - /* GL_ARB_texture_storage (no dlist support) */ SET_TexStorage1D(table, _mesa_TexStorage1D); SET_TexStorage2D(table, _mesa_TexStorage2D); diff --git a/reactos/dll/opengl/mesa/main/extensions.c b/reactos/dll/opengl/mesa/main/extensions.c index 8062a59bbe6..9a933cd816f 100644 --- a/reactos/dll/opengl/mesa/main/extensions.c +++ b/reactos/dll/opengl/mesa/main/extensions.c @@ -99,7 +99,6 @@ static const struct extension extension_table[] = { { "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), 2002 }, { "GL_EXT_stencil_wrap", o(dummy_true), 2002 }, { "GL_EXT_subtexture", o(dummy_true), 1995 }, - { "GL_EXT_texture3D", o(EXT_texture3D), 1996 }, { "GL_EXT_texture_cube_map", o(ARB_texture_cube_map), 2001 }, { "GL_EXT_texture_env_add", o(dummy_true), 1999 }, { "GL_EXT_texture_env_combine", o(dummy_true), 2000 }, @@ -127,7 +126,6 @@ static const struct extension extension_table[] = { { "GL_NV_light_max_exponent", o(NV_light_max_exponent), 1999 }, { "GL_NV_point_sprite", o(NV_point_sprite), 2001 }, { "GL_NV_texgen_reflection", o(NV_texgen_reflection), 1999 }, - { "GL_NV_texture_barrier", o(NV_texture_barrier), 2009 }, { "GL_NV_texture_env_combine4", o(NV_texture_env_combine4), 1999 }, { 0, 0, 0}, @@ -175,7 +173,6 @@ static const size_t default_extensions[] = { o(EXT_packed_pixels), o(EXT_rescale_normal), o(EXT_separate_specular_color), - o(EXT_texture3D), /* Vendor Extensions */ o(APPLE_packed_pixels), diff --git a/reactos/dll/opengl/mesa/main/get.c b/reactos/dll/opengl/mesa/main/get.c index bdd2ace5052..a1657394bf4 100644 --- a/reactos/dll/opengl/mesa/main/get.c +++ b/reactos/dll/opengl/mesa/main/get.c @@ -157,7 +157,7 @@ union value { #define CONTEXT_FIELD(field, type) \ LOC_CONTEXT, type, offsetof(struct gl_context, field) #define ARRAY_FIELD(field, type) \ - LOC_ARRAY, type, offsetof(struct gl_array_object, field) + LOC_ARRAY, type, offsetof(struct gl_array_attrib, field) #define CONST(value) \ LOC_CONTEXT, TYPE_CONST, value @@ -487,11 +487,11 @@ static const struct value_desc values[] = { /* GL_ARB_vertex_buffer_object */ { GL_VERTEX_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_object, VertexAttrib[VERT_ATTRIB_POS].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_POS].BufferObj), NO_EXTRA }, { GL_NORMAL_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_object, VertexAttrib[VERT_ATTRIB_NORMAL].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_NORMAL].BufferObj), NO_EXTRA }, { GL_COLOR_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_object, VertexAttrib[VERT_ATTRIB_COLOR0].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_COLOR0].BufferObj), NO_EXTRA }, { GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, NO_OFFSET, NO_EXTRA }, /* GL_OES_point_sprite */ @@ -723,13 +723,13 @@ static const struct value_desc values[] = { /* GL_ARB_vertex_buffer_object */ { GL_INDEX_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_object, VertexAttrib[VERT_ATTRIB_COLOR_INDEX].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_COLOR_INDEX].BufferObj), NO_EXTRA }, { GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_object, VertexAttrib[VERT_ATTRIB_EDGEFLAG].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_EDGEFLAG].BufferObj), NO_EXTRA }, { GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_object, VertexAttrib[VERT_ATTRIB_COLOR1].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_COLOR1].BufferObj), NO_EXTRA }, { GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_object, VertexAttrib[VERT_ATTRIB_FOG].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_FOG].BufferObj), NO_EXTRA }, /* GL_EXT_depth_bounds_test */ { GL_DEPTH_BOUNDS_TEST_EXT, CONTEXT_BOOL(Depth.BoundsTest), diff --git a/reactos/dll/opengl/mesa/main/histogram.c b/reactos/dll/opengl/mesa/main/histogram.c deleted file mode 100644 index 52cdc7e31fd..00000000000 --- a/reactos/dll/opengl/mesa/main/histogram.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.3 - * - * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#include - -#include "histogram.h" - -#if FEATURE_histogram - -/********************************************************************** - * API functions - */ - - -/* this is defined below */ -static void GLAPIENTRY _mesa_ResetMinmax(GLenum target); - - -static void GLAPIENTRY -_mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, - GLenum type, GLvoid *values) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmax"); -} - - -static void GLAPIENTRY -_mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, - GLenum type, GLvoid *values) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogram"); -} - - -static void GLAPIENTRY -_mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameterfv"); -} - - -static void GLAPIENTRY -_mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameteriv"); -} - - -static void GLAPIENTRY -_mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameterfv"); -} - - -static void GLAPIENTRY -_mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameteriv"); -} - - -static void GLAPIENTRY -_mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean sink) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glHistogram"); -} - - -static void GLAPIENTRY -_mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glMinmax"); -} - - -static void GLAPIENTRY -_mesa_ResetHistogram(GLenum target) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glResetHistogram"); -} - - -static void GLAPIENTRY -_mesa_ResetMinmax(GLenum target) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glResetMinmax"); -} - - -void -_mesa_init_histogram_dispatch(struct _glapi_table *disp) -{ - SET_GetHistogram(disp, _mesa_GetHistogram); - SET_GetHistogramParameterfv(disp, _mesa_GetHistogramParameterfv); - SET_GetHistogramParameteriv(disp, _mesa_GetHistogramParameteriv); - SET_GetMinmax(disp, _mesa_GetMinmax); - SET_GetMinmaxParameterfv(disp, _mesa_GetMinmaxParameterfv); - SET_GetMinmaxParameteriv(disp, _mesa_GetMinmaxParameteriv); - SET_Histogram(disp, _mesa_Histogram); - SET_Minmax(disp, _mesa_Minmax); - SET_ResetHistogram(disp, _mesa_ResetHistogram); - SET_ResetMinmax(disp, _mesa_ResetMinmax); -} - -#endif /* FEATURE_histogram */ diff --git a/reactos/dll/opengl/mesa/main/histogram.h b/reactos/dll/opengl/mesa/main/histogram.h deleted file mode 100644 index d97e74abbad..00000000000 --- a/reactos/dll/opengl/mesa/main/histogram.h +++ /dev/null @@ -1,58 +0,0 @@ -/** - * \file histogram.h - * Histogram. - * - * \if subset - * (No-op) - * - * \endif - */ - -/* - * Mesa 3-D graphics library - * Version: 5.1 - * - * Copyright (C) 1999-2003 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - - -#ifndef HISTOGRAM_H -#define HISTOGRAM_H - -#include "compiler.h" -#include "mfeatures.h" - -struct _glapi_table; - -#if FEATURE_histogram - -extern void -_mesa_init_histogram_dispatch(struct _glapi_table *disp); - -#else /* FEATURE_histogram */ - -static inline void -_mesa_init_histogram_dispatch(struct _glapi_table *disp) -{ -} - -#endif /* FEATURE_histogram */ - -#endif /* HISTOGRAM_H */ diff --git a/reactos/dll/opengl/mesa/main/mfeatures.h b/reactos/dll/opengl/mesa/main/mfeatures.h index d432175bbcd..41d3bda35ed 100644 --- a/reactos/dll/opengl/mesa/main/mfeatures.h +++ b/reactos/dll/opengl/mesa/main/mfeatures.h @@ -78,12 +78,6 @@ #define FEATURE_GL !FEATURE_ES #endif -#if defined(IN_DRI_DRIVER) || (FEATURE_GL + FEATURE_ES1 + FEATURE_ES2 > 1) -#define FEATURE_remap_table 1 -#else -#define FEATURE_remap_table 0 -#endif - #define FEATURE_dispatch 1 #define FEATURE_texgen 1 #define FEATURE_userclip 1 diff --git a/reactos/dll/opengl/mesa/main/mtypes.h b/reactos/dll/opengl/mesa/main/mtypes.h index da69c74e7d4..97e8fe240ee 100644 --- a/reactos/dll/opengl/mesa/main/mtypes.h +++ b/reactos/dll/opengl/mesa/main/mtypes.h @@ -1190,39 +1190,6 @@ struct gl_client_array }; -/** - * Collection of vertex arrays. Defined by the GL_APPLE_vertex_array_object - * extension, but a nice encapsulation in any case. - */ -struct gl_array_object -{ - /** Name of the array object as received from glGenVertexArrayAPPLE. */ - GLuint Name; - - GLint RefCount; - _glthread_Mutex Mutex; - - /** - * Has this array object been bound? - */ - GLboolean _Used; - - /** Vertex attribute arrays */ - struct gl_client_array VertexAttrib[VERT_ATTRIB_MAX]; - - /** Mask of VERT_BIT_* values indicating which arrays are enabled */ - GLbitfield64 _Enabled; - - /** - * Min of all enabled arrays' _MaxElement. When arrays reside inside VBOs - * we can determine the max legal (in bounds) glDrawElements array index. - */ - GLuint _MaxElement; - - struct gl_buffer_object *ElementArrayBufferObj; -}; - - /** * Vertex array state */ @@ -1481,17 +1448,6 @@ struct gl_framebuffer void (*Delete)(struct gl_framebuffer *fb); }; - -/** - * Precision info for shader datatypes. See glGetShaderPrecisionFormat(). - */ -struct gl_precision -{ - GLushort RangeMin; /**< min value exponent */ - GLushort RangeMax; /**< max value exponent */ - GLushort Precision; /**< number of mantissa bits */ -}; - /** * Constants which may be overridden by device driver during context creation * but are never changed after that. @@ -1588,7 +1544,6 @@ struct gl_extensions GLboolean EXT_secondary_color; GLboolean EXT_separate_shader_objects; GLboolean EXT_separate_specular_color; - GLboolean EXT_texture3D; GLboolean EXT_texture_env_dot3; GLboolean EXT_texture_filter_anisotropic; GLboolean EXT_texture_integer; @@ -1604,7 +1559,6 @@ struct gl_extensions GLboolean NV_fog_distance; GLboolean NV_light_max_exponent; GLboolean NV_point_sprite; - GLboolean NV_texture_barrier; GLboolean NV_texgen_reflection; GLboolean NV_texture_env_combine4; GLboolean extension_sentinel; @@ -1673,8 +1627,7 @@ struct gl_matrix_stack #define _NEW_BUFFERS (1 << 22) /**< gl_context::Visual, DrawBuffer, */ #define _NEW_CURRENT_ATTRIB (1 << 23) /**< gl_context::Current */ #define _NEW_MULTISAMPLE (1 << 24) /**< gl_context::Multisample */ -#define _NEW_TRACK_MATRIX (1 << 25) /**< gl_context::VertexProgram */ -#define _NEW_BUFFER_OBJECT (1 << 26) +#define _NEW_BUFFER_OBJECT (1 << 25) #define _NEW_ALL ~0 /** diff --git a/reactos/dll/opengl/mesa/main/precomp.h b/reactos/dll/opengl/mesa/main/precomp.h index 1dfbe5aa282..3a3c19054d5 100644 --- a/reactos/dll/opengl/mesa/main/precomp.h +++ b/reactos/dll/opengl/mesa/main/precomp.h @@ -70,7 +70,6 @@ #include "texstate.h" #include "texstorage.h" #include "texstore.h" -#include "texturebarrier.h" #include "varray.h" #include "version.h" #include "viewport.h" diff --git a/reactos/dll/opengl/mesa/main/texturebarrier.c b/reactos/dll/opengl/mesa/main/texturebarrier.c deleted file mode 100644 index c9b77c3f465..00000000000 --- a/reactos/dll/opengl/mesa/main/texturebarrier.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright © 2011 Marek Olšák - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -/** - * \file texturebarrier.c - * Implementation of glTextureBarrierNV. - * - * \author Marek Olšák - */ - -#include - -static void -_mesa_texture_barrier(struct gl_context *ctx) -{ - /* no-op */ -} - -void -_mesa_init_texture_barrier_functions(struct dd_function_table *driver) -{ - driver->TextureBarrier = _mesa_texture_barrier; -} - -void GLAPIENTRY -_mesa_TextureBarrierNV(void) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END(ctx); - - ctx->Driver.TextureBarrier(ctx); -} diff --git a/reactos/dll/opengl/mesa/main/texturebarrier.h b/reactos/dll/opengl/mesa/main/texturebarrier.h deleted file mode 100644 index a84a85b2176..00000000000 --- a/reactos/dll/opengl/mesa/main/texturebarrier.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright © 2011 Marek Olšák - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -/** - * \file texturebarrier.h - * GL_NV_texture_barrier - * - * \author Marek Olšák - */ - -#ifndef TEXTUREBARRIER_H -#define TEXTUREBARRIER_H - -#include "glheader.h" - -struct dd_function_table; - -extern void -_mesa_init_texture_barrier_functions(struct dd_function_table *driver); - -extern void GLAPIENTRY -_mesa_TextureBarrierNV(void); - -#endif /* TEXTUREBARRIER_H */ From 340e8ae45f8c0d94033a87a4175d00a4fbd59b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Tue, 17 Jun 2014 20:01:23 +0000 Subject: [PATCH 098/120] [WIN32K] There is a bug in win32k (who would have thought that?) that consists in holding a winstation spinlock while running PAGED_CODE MmCopyToCaller function, when building the list of desktops of a given window station (the bug is easily triggerable when calling EnumDesktopsW). Since this lock is never used in anyplace but in this function, which, by the way, is just a reader function that fills user buffer, I consider that it is safe to remove this lock. However I want approval from win32k specialists. Hence I just disable the code with a define USE_WINSTA_LOCK. If this lock is really needed, please rewrite the BuildDesktopNameList function !! Otherwise remove this lock and the associated code !! This is a blocker for the shutdown code. svn path=/trunk/; revision=63610 --- reactos/win32ss/user/ntuser/winsta.c | 18 ++++++++++++++++++ reactos/win32ss/user/ntuser/winsta.h | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/reactos/win32ss/user/ntuser/winsta.c b/reactos/win32ss/user/ntuser/winsta.c index 9045f6ffab4..e85a69a87f0 100644 --- a/reactos/win32ss/user/ntuser/winsta.c +++ b/reactos/win32ss/user/ntuser/winsta.c @@ -451,7 +451,9 @@ NtUserCreateWindowStation( /* Initialize the window station */ RtlZeroMemory(WindowStationObject, sizeof(WINSTATION_OBJECT)); +#ifdef USE_WINSTA_LOCK KeInitializeSpinLock(&WindowStationObject->Lock); +#endif InitializeListHead(&WindowStationObject->DesktopListHead); Status = RtlCreateAtomTable(37, &WindowStationObject->AtomTable); WindowStationObject->Name = WindowStationName; @@ -1203,7 +1205,9 @@ BuildDesktopNameList( { NTSTATUS Status; PWINSTATION_OBJECT WindowStation; +#ifdef USE_WINSTA_LOCK KIRQL OldLevel; +#endif PLIST_ENTRY DesktopEntry; PDESKTOP DesktopObject; DWORD EntryCount; @@ -1220,7 +1224,9 @@ BuildDesktopNameList( return Status; } +#ifdef USE_WINSTA_LOCK KeAcquireSpinLock(&WindowStation->Lock, &OldLevel); +#endif /* * Count the required size of buffer. @@ -1242,7 +1248,9 @@ BuildDesktopNameList( Status = MmCopyToCaller(pRequiredSize, &ReturnLength, sizeof(ULONG)); if (! NT_SUCCESS(Status)) { +#ifdef USE_WINSTA_LOCK KeReleaseSpinLock(&WindowStation->Lock, OldLevel); +#endif ObDereferenceObject(WindowStation); return STATUS_BUFFER_TOO_SMALL; } @@ -1253,7 +1261,9 @@ BuildDesktopNameList( */ if (dwSize < ReturnLength) { +#ifdef USE_WINSTA_LOCK KeReleaseSpinLock(&WindowStation->Lock, OldLevel); +#endif ObDereferenceObject(WindowStation); return STATUS_BUFFER_TOO_SMALL; } @@ -1264,7 +1274,9 @@ BuildDesktopNameList( Status = MmCopyToCaller(lpBuffer, &EntryCount, sizeof(DWORD)); if (! NT_SUCCESS(Status)) { +#ifdef USE_WINSTA_LOCK KeReleaseSpinLock(&WindowStation->Lock, OldLevel); +#endif ObDereferenceObject(WindowStation); return Status; } @@ -1280,7 +1292,9 @@ BuildDesktopNameList( Status = MmCopyToCaller(lpBuffer, DesktopName.Buffer, DesktopName.Length); if (! NT_SUCCESS(Status)) { +#ifdef USE_WINSTA_LOCK KeReleaseSpinLock(&WindowStation->Lock, OldLevel); +#endif ObDereferenceObject(WindowStation); return Status; } @@ -1288,7 +1302,9 @@ BuildDesktopNameList( Status = MmCopyToCaller(lpBuffer, &NullWchar, sizeof(WCHAR)); if (! NT_SUCCESS(Status)) { +#ifdef USE_WINSTA_LOCK KeReleaseSpinLock(&WindowStation->Lock, OldLevel); +#endif ObDereferenceObject(WindowStation); return Status; } @@ -1298,7 +1314,9 @@ BuildDesktopNameList( /* * Clean up */ +#ifdef USE_WINSTA_LOCK KeReleaseSpinLock(&WindowStation->Lock, OldLevel); +#endif ObDereferenceObject(WindowStation); return STATUS_SUCCESS; diff --git a/reactos/win32ss/user/ntuser/winsta.h b/reactos/win32ss/user/ntuser/winsta.h index 2cc12caae14..3ece25179f1 100644 --- a/reactos/win32ss/user/ntuser/winsta.h +++ b/reactos/win32ss/user/ntuser/winsta.h @@ -7,11 +7,16 @@ #define WSS_LOCKED (1) #define WSS_NOINTERACTIVE (2) +// Uncomment for using WinSta spinlock +// #define USE_WINSTA_LOCK + typedef struct _WINSTATION_OBJECT { DWORD dwSessionId; +#ifdef USE_WINSTA_LOCK KSPIN_LOCK Lock; +#endif UNICODE_STRING Name; LIST_ENTRY DesktopListHead; PRTL_ATOM_TABLE AtomTable; From df0cd9c93db472b1bb0bc127930af31c6316700e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Tue, 17 Jun 2014 20:47:55 +0000 Subject: [PATCH 099/120] [WIN32K]: TWOPARAM_ROUTINE_SETCARETPOS does exist in windows, and we also have it in our SimpleCallRoutines enumeration. svn path=/trunk/; revision=63611 --- reactos/win32ss/include/ntuser.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/reactos/win32ss/include/ntuser.h b/reactos/win32ss/include/ntuser.h index e0f8bdee00b..3a80945126a 100644 --- a/reactos/win32ss/include/ntuser.h +++ b/reactos/win32ss/include/ntuser.h @@ -70,7 +70,6 @@ typedef enum _USERTHREADINFOCLASS UserThreadWOWInformation, UserThreadHungStatus, UserThreadInitiateShutdown, - UserThreadEndShutdown, UserThreadUseActiveDesktop, UserThreadUseDesktop, @@ -3385,7 +3384,6 @@ typedef struct tagKMDDELPARAM #define MSQ_STATE_MENUOWNER 0x4 #define MSQ_STATE_MOVESIZE 0x5 #define MSQ_STATE_CARET 0x6 -#define TWOPARAM_ROUTINE_SETCARETPOS 0xfffd0060 #define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004 #define HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT 0x1005 From ecf5e374effd942d57863008263e265d9c4a8ad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Tue, 17 Jun 2014 20:51:04 +0000 Subject: [PATCH 100/120] [WIN32K] The winstation spinlock is a leftover of some old code. It can be removed. <+smiley1_> hbelusca: yeah the spinlock should be removed <@hbelusca> smiley1_ - was it from old code? <+smiley1_> hbelusca: go on svn path=/trunk/; revision=63612 --- reactos/win32ss/user/ntuser/winsta.c | 31 +--------------------------- reactos/win32ss/user/ntuser/winsta.h | 6 ------ 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/reactos/win32ss/user/ntuser/winsta.c b/reactos/win32ss/user/ntuser/winsta.c index e85a69a87f0..8fcc7b7a9a2 100644 --- a/reactos/win32ss/user/ntuser/winsta.c +++ b/reactos/win32ss/user/ntuser/winsta.c @@ -451,9 +451,6 @@ NtUserCreateWindowStation( /* Initialize the window station */ RtlZeroMemory(WindowStationObject, sizeof(WINSTATION_OBJECT)); -#ifdef USE_WINSTA_LOCK - KeInitializeSpinLock(&WindowStationObject->Lock); -#endif InitializeListHead(&WindowStationObject->DesktopListHead); Status = RtlCreateAtomTable(37, &WindowStationObject->AtomTable); WindowStationObject->Name = WindowStationName; @@ -1205,9 +1202,6 @@ BuildDesktopNameList( { NTSTATUS Status; PWINSTATION_OBJECT WindowStation; -#ifdef USE_WINSTA_LOCK - KIRQL OldLevel; -#endif PLIST_ENTRY DesktopEntry; PDESKTOP DesktopObject; DWORD EntryCount; @@ -1224,10 +1218,6 @@ BuildDesktopNameList( return Status; } -#ifdef USE_WINSTA_LOCK - KeAcquireSpinLock(&WindowStation->Lock, &OldLevel); -#endif - /* * Count the required size of buffer. */ @@ -1248,9 +1238,6 @@ BuildDesktopNameList( Status = MmCopyToCaller(pRequiredSize, &ReturnLength, sizeof(ULONG)); if (! NT_SUCCESS(Status)) { -#ifdef USE_WINSTA_LOCK - KeReleaseSpinLock(&WindowStation->Lock, OldLevel); -#endif ObDereferenceObject(WindowStation); return STATUS_BUFFER_TOO_SMALL; } @@ -1261,9 +1248,6 @@ BuildDesktopNameList( */ if (dwSize < ReturnLength) { -#ifdef USE_WINSTA_LOCK - KeReleaseSpinLock(&WindowStation->Lock, OldLevel); -#endif ObDereferenceObject(WindowStation); return STATUS_BUFFER_TOO_SMALL; } @@ -1274,9 +1258,6 @@ BuildDesktopNameList( Status = MmCopyToCaller(lpBuffer, &EntryCount, sizeof(DWORD)); if (! NT_SUCCESS(Status)) { -#ifdef USE_WINSTA_LOCK - KeReleaseSpinLock(&WindowStation->Lock, OldLevel); -#endif ObDereferenceObject(WindowStation); return Status; } @@ -1292,9 +1273,6 @@ BuildDesktopNameList( Status = MmCopyToCaller(lpBuffer, DesktopName.Buffer, DesktopName.Length); if (! NT_SUCCESS(Status)) { -#ifdef USE_WINSTA_LOCK - KeReleaseSpinLock(&WindowStation->Lock, OldLevel); -#endif ObDereferenceObject(WindowStation); return Status; } @@ -1302,9 +1280,6 @@ BuildDesktopNameList( Status = MmCopyToCaller(lpBuffer, &NullWchar, sizeof(WCHAR)); if (! NT_SUCCESS(Status)) { -#ifdef USE_WINSTA_LOCK - KeReleaseSpinLock(&WindowStation->Lock, OldLevel); -#endif ObDereferenceObject(WindowStation); return Status; } @@ -1312,13 +1287,9 @@ BuildDesktopNameList( } /* - * Clean up + * Clean up and return */ -#ifdef USE_WINSTA_LOCK - KeReleaseSpinLock(&WindowStation->Lock, OldLevel); -#endif ObDereferenceObject(WindowStation); - return STATUS_SUCCESS; } diff --git a/reactos/win32ss/user/ntuser/winsta.h b/reactos/win32ss/user/ntuser/winsta.h index 3ece25179f1..04fd0078001 100644 --- a/reactos/win32ss/user/ntuser/winsta.h +++ b/reactos/win32ss/user/ntuser/winsta.h @@ -7,16 +7,10 @@ #define WSS_LOCKED (1) #define WSS_NOINTERACTIVE (2) -// Uncomment for using WinSta spinlock -// #define USE_WINSTA_LOCK - typedef struct _WINSTATION_OBJECT { DWORD dwSessionId; -#ifdef USE_WINSTA_LOCK - KSPIN_LOCK Lock; -#endif UNICODE_STRING Name; LIST_ENTRY DesktopListHead; PRTL_ATOM_TABLE AtomTable; From dfb4d747d44b263d63f548a2026868588ba27102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 18 Jun 2014 15:58:59 +0000 Subject: [PATCH 101/120] [OPENGL32/MESA] - Get rid of EXT_secondary_color, ARB_imaging and a few others support CORE-7499 svn path=/trunk/; revision=63613 --- .../opengl/mesa/drivers/common/driverfuncs.c | 3 - reactos/dll/opengl/mesa/drivers/common/meta.c | 1 - reactos/dll/opengl/mesa/main/CMakeLists.txt | 2 - reactos/dll/opengl/mesa/main/api_arrayelt.c | 21 +- reactos/dll/opengl/mesa/main/api_exec.c | 36 - reactos/dll/opengl/mesa/main/api_loopback.c | 123 --- reactos/dll/opengl/mesa/main/api_validate.c | 61 -- reactos/dll/opengl/mesa/main/api_validate.h | 6 - reactos/dll/opengl/mesa/main/attrib.c | 92 +-- reactos/dll/opengl/mesa/main/blend.c | 210 +----- reactos/dll/opengl/mesa/main/blend.h | 18 - reactos/dll/opengl/mesa/main/bufferobj.c | 15 - reactos/dll/opengl/mesa/main/colortab.c | 140 ---- reactos/dll/opengl/mesa/main/colortab.h | 76 -- reactos/dll/opengl/mesa/main/config.h | 3 - reactos/dll/opengl/mesa/main/context.c | 7 +- reactos/dll/opengl/mesa/main/convolve.c | 173 ----- reactos/dll/opengl/mesa/main/convolve.h | 51 -- reactos/dll/opengl/mesa/main/dd.h | 18 - reactos/dll/opengl/mesa/main/dispatch.h | 540 ------------- reactos/dll/opengl/mesa/main/dlist.c | 712 +----------------- reactos/dll/opengl/mesa/main/enable.c | 22 +- reactos/dll/opengl/mesa/main/fog.c | 1 - reactos/dll/opengl/mesa/main/get.c | 51 +- reactos/dll/opengl/mesa/main/get.h | 3 - reactos/dll/opengl/mesa/main/getstring.c | 37 +- reactos/dll/opengl/mesa/main/imports.c | 4 +- reactos/dll/opengl/mesa/main/light.c | 20 +- reactos/dll/opengl/mesa/main/mtypes.h | 77 +- reactos/dll/opengl/mesa/main/precomp.h | 2 - reactos/dll/opengl/mesa/main/rastpos.c | 17 +- reactos/dll/opengl/mesa/main/state.c | 21 +- reactos/dll/opengl/mesa/main/state.h | 17 - reactos/dll/opengl/mesa/main/varray.c | 38 +- reactos/dll/opengl/mesa/main/varray.h | 9 - reactos/dll/opengl/mesa/main/vtxfmt.c | 3 - reactos/dll/opengl/mesa/swrast/s_aaline.c | 3 - reactos/dll/opengl/mesa/swrast/s_aatriangle.c | 3 +- reactos/dll/opengl/mesa/swrast/s_alpha.c | 2 +- reactos/dll/opengl/mesa/swrast/s_blend.c | 402 +--------- reactos/dll/opengl/mesa/swrast/s_context.c | 52 +- reactos/dll/opengl/mesa/swrast/s_context.h | 1 - reactos/dll/opengl/mesa/swrast/s_copypix.c | 4 +- reactos/dll/opengl/mesa/swrast/s_drawpix.c | 4 +- reactos/dll/opengl/mesa/swrast/s_feedback.c | 2 +- reactos/dll/opengl/mesa/swrast/s_fog.c | 8 +- reactos/dll/opengl/mesa/swrast/s_lines.c | 41 +- reactos/dll/opengl/mesa/swrast/s_linetemp.h | 12 - reactos/dll/opengl/mesa/swrast/s_logic.c | 2 +- reactos/dll/opengl/mesa/swrast/s_masking.c | 2 +- reactos/dll/opengl/mesa/swrast/s_points.c | 27 - reactos/dll/opengl/mesa/swrast/s_span.c | 92 +-- reactos/dll/opengl/mesa/swrast/s_triangle.c | 52 -- reactos/dll/opengl/mesa/swrast/s_tritemp.h | 64 +- reactos/dll/opengl/mesa/swrast/s_zoom.c | 14 +- reactos/dll/opengl/mesa/swrast/swrast.h | 4 +- .../dll/opengl/mesa/swrast_setup/ss_context.c | 10 +- .../opengl/mesa/swrast_setup/ss_triangle.c | 8 - .../dll/opengl/mesa/swrast_setup/ss_tritmp.h | 50 +- reactos/dll/opengl/mesa/tnl/t_context.c | 5 +- reactos/dll/opengl/mesa/tnl/t_context.h | 63 +- reactos/dll/opengl/mesa/tnl/t_draw.c | 1 - reactos/dll/opengl/mesa/tnl/t_rasterpos.c | 22 +- reactos/dll/opengl/mesa/tnl/t_vb_light.c | 12 +- reactos/dll/opengl/mesa/tnl/t_vb_lighttmp.h | 22 +- .../dll/opengl/mesa/tnl/t_vertex_generic.c | 17 +- reactos/dll/opengl/mesa/vbo/vbo_attrib.h | 39 +- reactos/dll/opengl/mesa/vbo/vbo_attrib_tmp.h | 24 +- reactos/dll/opengl/mesa/vbo/vbo_exec_api.c | 10 +- reactos/dll/opengl/mesa/vbo/vbo_exec_array.c | 200 ----- reactos/dll/opengl/mesa/vbo/vbo_exec_eval.c | 4 +- reactos/dll/opengl/mesa/vbo/vbo_noop.c | 22 - reactos/dll/opengl/mesa/vbo/vbo_save_api.c | 38 - reactos/dll/opengl/mesa/vbo/vbo_save_draw.c | 2 +- reactos/dll/opengl/mesa/x86/gen_matypes.c | 1 - reactos/dll/opengl/mesa/x86/mmx.h | 10 - reactos/dll/opengl/mesa/x86/mmx_blend.S | 64 -- 77 files changed, 292 insertions(+), 3753 deletions(-) delete mode 100644 reactos/dll/opengl/mesa/main/colortab.c delete mode 100644 reactos/dll/opengl/mesa/main/colortab.h delete mode 100644 reactos/dll/opengl/mesa/main/convolve.c delete mode 100644 reactos/dll/opengl/mesa/main/convolve.h diff --git a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c index 8cfb26a4ad3..361f7403bc8 100644 --- a/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c +++ b/reactos/dll/opengl/mesa/drivers/common/driverfuncs.c @@ -100,9 +100,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver) /* simple state commands */ driver->AlphaFunc = NULL; - driver->BlendColor = NULL; - driver->BlendEquationSeparate = NULL; - driver->BlendFuncSeparate = NULL; driver->ClearColor = NULL; driver->ClearDepth = NULL; driver->ClearStencil = NULL; diff --git a/reactos/dll/opengl/mesa/drivers/common/meta.c b/reactos/dll/opengl/mesa/drivers/common/meta.c index e0957feb1fb..e9b44f0914e 100644 --- a/reactos/dll/opengl/mesa/drivers/common/meta.c +++ b/reactos/dll/opengl/mesa/drivers/common/meta.c @@ -37,7 +37,6 @@ #include "main/blend.h" #include "main/bufferobj.h" #include "main/buffers.h" -#include "main/colortab.h" #include "main/context.h" #include "main/depth.h" #include "main/enable.h" diff --git a/reactos/dll/opengl/mesa/main/CMakeLists.txt b/reactos/dll/opengl/mesa/main/CMakeLists.txt index 15da07c8f97..b5218e47ada 100644 --- a/reactos/dll/opengl/mesa/main/CMakeLists.txt +++ b/reactos/dll/opengl/mesa/main/CMakeLists.txt @@ -11,9 +11,7 @@ list(APPEND SOURCE buffers.c clear.c clip.c - colortab.c context.c - convolve.c cpuinfo.c depth.c dlist.c diff --git a/reactos/dll/opengl/mesa/main/api_arrayelt.c b/reactos/dll/opengl/mesa/main/api_arrayelt.c index 87b98439731..1fa1d41b67d 100644 --- a/reactos/dll/opengl/mesa/main/api_arrayelt.c +++ b/reactos/dll/opengl/mesa/main/api_arrayelt.c @@ -157,7 +157,6 @@ static const int NormalFuncs[NUM_TYPES] = { }; /* Note: _gloffset_* for these may not be a compile-time constant. */ -static int SecondaryColorFuncs[NUM_TYPES]; static int FogCoordFuncs[NUM_TYPES]; @@ -673,16 +672,6 @@ GLboolean _ae_create_context( struct gl_context *ctx ) if (ctx->aelt_context) return GL_TRUE; - /* These _gloffset_* values may not be compile-time constants */ - SecondaryColorFuncs[0] = _gloffset_SecondaryColor3bvEXT; - SecondaryColorFuncs[1] = _gloffset_SecondaryColor3ubvEXT; - SecondaryColorFuncs[2] = _gloffset_SecondaryColor3svEXT; - SecondaryColorFuncs[3] = _gloffset_SecondaryColor3usvEXT; - SecondaryColorFuncs[4] = _gloffset_SecondaryColor3ivEXT; - SecondaryColorFuncs[5] = _gloffset_SecondaryColor3uivEXT; - SecondaryColorFuncs[6] = _gloffset_SecondaryColor3fvEXT; - SecondaryColorFuncs[7] = _gloffset_SecondaryColor3dvEXT; - FogCoordFuncs[0] = -1; FogCoordFuncs[1] = -1; FogCoordFuncs[2] = -1; @@ -756,18 +745,12 @@ static void _ae_update_state( struct gl_context *ctx ) check_vbo(actx, aa->array->BufferObj); aa++; } - if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) { - aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0]; + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR].Enabled) { + aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR]; aa->offset = ColorFuncs[aa->array->Size-3][TYPE_IDX(aa->array->Type)]; check_vbo(actx, aa->array->BufferObj); aa++; } - if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) { - aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1]; - aa->offset = SecondaryColorFuncs[TYPE_IDX(aa->array->Type)]; - check_vbo(actx, aa->array->BufferObj); - aa++; - } if (ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Enabled) { aa->array = &ctx->Array.VertexAttrib[VERT_ATTRIB_FOG]; aa->offset = FogCoordFuncs[TYPE_IDX(aa->array->Type)]; diff --git a/reactos/dll/opengl/mesa/main/api_exec.c b/reactos/dll/opengl/mesa/main/api_exec.c index a10d6c07c95..3e597024e94 100644 --- a/reactos/dll/opengl/mesa/main/api_exec.c +++ b/reactos/dll/opengl/mesa/main/api_exec.c @@ -168,7 +168,6 @@ _mesa_create_exec_table(void) SET_ReadPixels(exec, _mesa_ReadPixels); SET_Rotated(exec, _mesa_Rotated); SET_Scaled(exec, _mesa_Scaled); - SET_SecondaryColorPointerEXT(exec, _mesa_SecondaryColorPointerEXT); SET_TexEnvf(exec, _mesa_TexEnvf); SET_TexEnviv(exec, _mesa_TexEnviv); @@ -206,33 +205,11 @@ _mesa_create_exec_table(void) SET_VertexPointer(exec, _mesa_VertexPointer); #endif - /* OpenGL 1.2 GL_ARB_imaging */ - SET_BlendColor(exec, _mesa_BlendColor); - SET_BlendEquation(exec, _mesa_BlendEquation); - SET_BlendEquationSeparateEXT(exec, _mesa_BlendEquationSeparateEXT); - - _mesa_init_colortable_dispatch(exec); - _mesa_init_convolve_dispatch(exec); - - /* 2. GL_EXT_blend_color */ -#if 0 -/* SET_BlendColorEXT(exec, _mesa_BlendColorEXT); */ -#endif - /* 3. GL_EXT_polygon_offset */ #if _HAVE_FULL_GL SET_PolygonOffsetEXT(exec, _mesa_PolygonOffsetEXT); #endif - /* 14. SGI_color_table */ -#if 0 - SET_ColorTableSGI(exec, _mesa_ColorTable); - SET_ColorSubTableSGI(exec, _mesa_ColorSubTable); - SET_GetColorTableSGI(exec, _mesa_GetColorTable); - SET_GetColorTableParameterfvSGI(exec, _mesa_GetColorTableParameterfv); - SET_GetColorTableParameterivSGI(exec, _mesa_GetColorTableParameteriv); -#endif - /* 30. GL_EXT_vertex_array */ #if _HAVE_FULL_GL SET_ColorPointerEXT(exec, _mesa_ColorPointerEXT); @@ -243,11 +220,6 @@ _mesa_create_exec_table(void) SET_VertexPointerEXT(exec, _mesa_VertexPointerEXT); #endif - /* 37. GL_EXT_blend_minmax */ -#if 0 - SET_BlendEquationEXT(exec, _mesa_BlendEquationEXT); -#endif - /* 54. GL_EXT_point_parameters */ #if _HAVE_FULL_GL SET_PointParameterfEXT(exec, _mesa_PointParameterf); @@ -260,11 +232,6 @@ _mesa_create_exec_table(void) SET_UnlockArraysEXT(exec, _mesa_UnlockArraysEXT); #endif - /* 173. GL_INGR_blend_func_separate */ -#if _HAVE_FULL_GL - SET_BlendFuncSeparateEXT(exec, _mesa_BlendFuncSeparateEXT); -#endif - /* 197. GL_MESA_window_pos */ /* part of _mesa_init_rastpos_dispatch(exec); */ @@ -325,9 +292,6 @@ _mesa_create_exec_table(void) SET_TexParameterIivEXT(exec, _mesa_TexParameterIiv); SET_TexParameterIuivEXT(exec, _mesa_TexParameterIuiv); - /* GL 3.0 (functions not covered by other extensions) */ - SET_GetStringi(exec, _mesa_GetStringi); - /* GL_ARB_texture_storage */ SET_TexStorage1D(exec, _mesa_TexStorage1D); SET_TexStorage2D(exec, _mesa_TexStorage2D); diff --git a/reactos/dll/opengl/mesa/main/api_loopback.c b/reactos/dll/opengl/mesa/main/api_loopback.c index d2dca88822f..35e289356c6 100644 --- a/reactos/dll/opengl/mesa/main/api_loopback.c +++ b/reactos/dll/opengl/mesa/main/api_loopback.c @@ -55,7 +55,6 @@ #define RECTF(a,b,c,d) CALL_Rectf(GET_DISPATCH(), (a,b,c,d)) #define FOGCOORDF(x) CALL_FogCoordfEXT(GET_DISPATCH(), (x)) -#define SECONDARYCOLORF(a,b,c) CALL_SecondaryColor3fEXT(GET_DISPATCH(), (a,b,c)) #define ATTRIB1NV(index,x) CALL_VertexAttrib1fNV(GET_DISPATCH(), (index,x)) #define ATTRIB2NV(index,x,y) CALL_VertexAttrib2fNV(GET_DISPATCH(), (index,x,y)) @@ -765,113 +764,6 @@ loopback_Rectsv(const GLshort *v1, const GLshort *v2) RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]); } -static void GLAPIENTRY -loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue ) -{ - SECONDARYCOLORF( BYTE_TO_FLOAT(red), - BYTE_TO_FLOAT(green), - BYTE_TO_FLOAT(blue) ); -} - -static void GLAPIENTRY -loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue ) -{ - SECONDARYCOLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue ); -} - -static void GLAPIENTRY -loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue ) -{ - SECONDARYCOLORF( INT_TO_FLOAT(red), - INT_TO_FLOAT(green), - INT_TO_FLOAT(blue)); -} - -static void GLAPIENTRY -loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue ) -{ - SECONDARYCOLORF(SHORT_TO_FLOAT(red), - SHORT_TO_FLOAT(green), - SHORT_TO_FLOAT(blue)); -} - -static void GLAPIENTRY -loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue ) -{ - SECONDARYCOLORF(UINT_TO_FLOAT(red), - UINT_TO_FLOAT(green), - UINT_TO_FLOAT(blue)); -} - -static void GLAPIENTRY -loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue ) -{ - SECONDARYCOLORF(USHORT_TO_FLOAT(red), - USHORT_TO_FLOAT(green), - USHORT_TO_FLOAT(blue)); -} - -static void GLAPIENTRY -loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue ) -{ - SECONDARYCOLORF(UBYTE_TO_FLOAT(red), - UBYTE_TO_FLOAT(green), - UBYTE_TO_FLOAT(blue)); -} - -static void GLAPIENTRY -loopback_SecondaryColor3bvEXT_f( const GLbyte *v ) -{ - SECONDARYCOLORF(BYTE_TO_FLOAT(v[0]), - BYTE_TO_FLOAT(v[1]), - BYTE_TO_FLOAT(v[2])); -} - -static void GLAPIENTRY -loopback_SecondaryColor3dvEXT_f( const GLdouble *v ) -{ - SECONDARYCOLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); -} -static void GLAPIENTRY -loopback_SecondaryColor3ivEXT_f( const GLint *v ) -{ - SECONDARYCOLORF(INT_TO_FLOAT(v[0]), - INT_TO_FLOAT(v[1]), - INT_TO_FLOAT(v[2])); -} - -static void GLAPIENTRY -loopback_SecondaryColor3svEXT_f( const GLshort *v ) -{ - SECONDARYCOLORF(SHORT_TO_FLOAT(v[0]), - SHORT_TO_FLOAT(v[1]), - SHORT_TO_FLOAT(v[2])); -} - -static void GLAPIENTRY -loopback_SecondaryColor3uivEXT_f( const GLuint *v ) -{ - SECONDARYCOLORF(UINT_TO_FLOAT(v[0]), - UINT_TO_FLOAT(v[1]), - UINT_TO_FLOAT(v[2])); -} - -static void GLAPIENTRY -loopback_SecondaryColor3usvEXT_f( const GLushort *v ) -{ - SECONDARYCOLORF(USHORT_TO_FLOAT(v[0]), - USHORT_TO_FLOAT(v[1]), - USHORT_TO_FLOAT(v[2])); -} - -static void GLAPIENTRY -loopback_SecondaryColor3ubvEXT_f( const GLubyte *v ) -{ - SECONDARYCOLORF(UBYTE_TO_FLOAT(v[0]), - UBYTE_TO_FLOAT(v[1]), - UBYTE_TO_FLOAT(v[2])); -} - /* * GL_NV_vertex_program: @@ -1026,21 +918,6 @@ _mesa_loopback_init_api_table( struct _glapi_table *dest ) SET_Color4uiv(dest, loopback_Color4uiv_f); SET_Color4usv(dest, loopback_Color4usv_f); SET_Color4ubv(dest, loopback_Color4ubv_f); - - SET_SecondaryColor3bEXT(dest, loopback_SecondaryColor3bEXT_f); - SET_SecondaryColor3dEXT(dest, loopback_SecondaryColor3dEXT_f); - SET_SecondaryColor3iEXT(dest, loopback_SecondaryColor3iEXT_f); - SET_SecondaryColor3sEXT(dest, loopback_SecondaryColor3sEXT_f); - SET_SecondaryColor3uiEXT(dest, loopback_SecondaryColor3uiEXT_f); - SET_SecondaryColor3usEXT(dest, loopback_SecondaryColor3usEXT_f); - SET_SecondaryColor3ubEXT(dest, loopback_SecondaryColor3ubEXT_f); - SET_SecondaryColor3bvEXT(dest, loopback_SecondaryColor3bvEXT_f); - SET_SecondaryColor3dvEXT(dest, loopback_SecondaryColor3dvEXT_f); - SET_SecondaryColor3ivEXT(dest, loopback_SecondaryColor3ivEXT_f); - SET_SecondaryColor3svEXT(dest, loopback_SecondaryColor3svEXT_f); - SET_SecondaryColor3uivEXT(dest, loopback_SecondaryColor3uivEXT_f); - SET_SecondaryColor3usvEXT(dest, loopback_SecondaryColor3usvEXT_f); - SET_SecondaryColor3ubvEXT(dest, loopback_SecondaryColor3ubvEXT_f); SET_EdgeFlagv(dest, loopback_EdgeFlagv); diff --git a/reactos/dll/opengl/mesa/main/api_validate.c b/reactos/dll/opengl/mesa/main/api_validate.c index 2e57c524c39..88345803435 100644 --- a/reactos/dll/opengl/mesa/main/api_validate.c +++ b/reactos/dll/opengl/mesa/main/api_validate.c @@ -218,67 +218,6 @@ _mesa_validate_DrawElements(struct gl_context *ctx, } -/** - * Error checking for glDrawRangeElements(). Includes parameter checking - * and VBO bounds checking. - * \return GL_TRUE if OK to render, GL_FALSE if error found - */ -GLboolean -_mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode, - GLuint start, GLuint end, - GLsizei count, GLenum type, - const GLvoid *indices) -{ - ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); - - if (count <= 0) { - if (count < 0) - _mesa_error(ctx, GL_INVALID_VALUE, "glDrawRangeElements(count)" ); - return GL_FALSE; - } - - if (!_mesa_valid_prim_mode(ctx, mode)) { - _mesa_error(ctx, GL_INVALID_ENUM, "glDrawRangeElements(mode)" ); - return GL_FALSE; - } - - if (end < start) { - _mesa_error(ctx, GL_INVALID_VALUE, "glDrawRangeElements(endArray.ElementArrayBufferObj)) { - /* use indices in the buffer object */ - /* make sure count doesn't go outside buffer bounds */ - if (index_bytes(type, count) > ctx->Array.ElementArrayBufferObj->Size) { - _mesa_warning(ctx, "glDrawRangeElements index out of buffer bounds"); - return GL_FALSE; - } - } - else { - /* not using a VBO */ - if (!indices) - return GL_FALSE; - } - - if (!check_index_bounds(ctx, count, type, indices)) - return GL_FALSE; - - return GL_TRUE; -} - - /** * Called from the tnl module to error check the function parameters and * verify that we really can draw something. diff --git a/reactos/dll/opengl/mesa/main/api_validate.h b/reactos/dll/opengl/mesa/main/api_validate.h index ea7cc25d61c..69be15625e7 100644 --- a/reactos/dll/opengl/mesa/main/api_validate.h +++ b/reactos/dll/opengl/mesa/main/api_validate.h @@ -55,10 +55,4 @@ _mesa_validate_DrawElements(struct gl_context *ctx, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); -extern GLboolean -_mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode, - GLuint start, GLuint end, - GLsizei count, GLenum type, - const GLvoid *indices); - #endif diff --git a/reactos/dll/opengl/mesa/main/attrib.c b/reactos/dll/opengl/mesa/main/attrib.c index e3881373290..d5df1dc7b75 100644 --- a/reactos/dll/opengl/mesa/main/attrib.c +++ b/reactos/dll/opengl/mesa/main/attrib.c @@ -723,25 +723,7 @@ _mesa_PopAttrib(void) _mesa_set_enable(ctx, GL_BLEND, (color->BlendEnabled & 1)); } /* set same blend modes for all buffers */ - _mesa_BlendFuncSeparateEXT(color->SrcRGB, - color->DstRGB, - color->SrcA, - color->DstA); - /* This special case is because glBlendEquationSeparateEXT - * cannot take GL_LOGIC_OP as a parameter. - */ - if (color->EquationRGB == color->EquationA) { - _mesa_BlendEquation(color->EquationRGB); - } - else { - _mesa_BlendEquationSeparateEXT( - color->EquationRGB, - color->EquationA); - } - _mesa_BlendColor(color->BlendColor[0], - color->BlendColor[1], - color->BlendColor[2], - color->BlendColor[3]); + _mesa_BlendFunc(color->SrcFactor, color->DstFactor); _mesa_LogicOp(color->LogicOp); _mesa_set_enable(ctx, GL_COLOR_LOGIC_OP, color->ColorLogicOpEnabled); @@ -856,8 +838,6 @@ _mesa_PopAttrib(void) (GLfloat) light->Model.LocalViewer); _mesa_LightModelf(GL_LIGHT_MODEL_TWO_SIDE, (GLfloat) light->Model.TwoSide); - _mesa_LightModelf(GL_LIGHT_MODEL_COLOR_CONTROL, - (GLfloat) light->Model.ColorControl); /* shade model */ _mesa_ShadeModel(light->ShadeModel); /* color material */ @@ -1063,33 +1043,30 @@ copy_pixelstore(struct gl_context *ctx, static void copy_array_attrib(struct gl_context *ctx, struct gl_array_attrib *dest, - struct gl_array_attrib *src, - GLboolean vbo_deleted) + struct gl_array_attrib *src) { - /* skip ArrayObj */ - /* skip DefaultArrayObj, Objects */ - dest->LockFirst = src->LockFirst; - dest->LockCount = src->LockCount; - /* skip NewState */ - /* skip RebindArrays */ + GLuint i; - if (!vbo_deleted) - { - GLuint i; + /* skip ArrayObj */ + /* skip DefaultArrayObj, Objects */ + dest->LockFirst = src->LockFirst; + dest->LockCount = src->LockCount; + /* skip NewState */ + /* skip RebindArrays */ - /* skip Name */ - /* skip RefCount */ - for (i = 0; i < Elements(src->VertexAttrib); i++) - _mesa_copy_client_array(ctx, &dest->VertexAttrib[i], &src->VertexAttrib[i]); + /* skip Name */ + /* skip RefCount */ - /* _Enabled must be the same than on push */ - dest->_Enabled = src->_Enabled; - dest->_MaxElement = src->_MaxElement; - } + for (i = 0; i < Elements(src->VertexAttrib); i++) + _mesa_copy_client_array(ctx, &dest->VertexAttrib[i], &src->VertexAttrib[i]); - /* skip ArrayBufferObj */ - /* skip ElementArrayBufferObj */ + /* _Enabled must be the same than on push */ + dest->_Enabled = src->_Enabled; + dest->_MaxElement = src->_MaxElement; + + /* skip ArrayBufferObj */ + /* skip ElementArrayBufferObj */ } /** @@ -1101,11 +1078,9 @@ save_array_attrib(struct gl_context *ctx, struct gl_array_attrib *src) { /* And copy all of the rest. */ - copy_array_attrib(ctx, dest, src, GL_FALSE); + copy_array_attrib(ctx, dest, src); /* Just reference them here */ - _mesa_reference_buffer_object(ctx, &dest->ArrayBufferObj, - src->ArrayBufferObj); _mesa_reference_buffer_object(ctx, &dest->ElementArrayBufferObj, src->ElementArrayBufferObj); } @@ -1118,17 +1093,7 @@ restore_array_attrib(struct gl_context *ctx, struct gl_array_attrib *dest, struct gl_array_attrib *src) { - /* Restore or recreate the buffer objects by the names ... */ - if (!src->ArrayBufferObj->Name == 0 - || _mesa_IsBufferARB(src->ArrayBufferObj->Name)) { - /* ... and restore its content */ - copy_array_attrib(ctx, dest, src, GL_FALSE); - - _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, - src->ArrayBufferObj->Name); - } else { - copy_array_attrib(ctx, dest, src, GL_TRUE); - } + copy_array_attrib(ctx, dest, src); if (src->ElementArrayBufferObj->Name == 0 || _mesa_IsBufferARB(src->ElementArrayBufferObj->Name)) @@ -1146,19 +1111,6 @@ restore_array_attrib(struct gl_context *ctx, dest->NewState |= src->_Enabled | dest->_Enabled; } -/** - * Free/unreference the fields of 'attrib' but don't delete it (that's - * done later in the calling code). - * Needs to the cleanup part matching init_array_attrib_data above. - */ -static void -free_array_attrib_data(struct gl_context *ctx, - struct gl_array_attrib *attrib) -{ - _mesa_reference_buffer_object(ctx, &attrib->ArrayBufferObj, NULL); - _mesa_free_varray_data(ctx, attrib); -} - void GLAPIENTRY _mesa_PushClientAttrib(GLbitfield mask) @@ -1243,7 +1195,7 @@ _mesa_PopClientAttrib(void) struct gl_array_attrib * attr = (struct gl_array_attrib *) node->data; restore_array_attrib(ctx, &ctx->Array, attr); - free_array_attrib_data(ctx, attr); + _mesa_free_varray_data(ctx, attr); ctx->NewState |= _NEW_ARRAY; break; } diff --git a/reactos/dll/opengl/mesa/main/blend.c b/reactos/dll/opengl/mesa/main/blend.c index 93145d00c13..4094518d8f8 100644 --- a/reactos/dll/opengl/mesa/main/blend.c +++ b/reactos/dll/opengl/mesa/main/blend.c @@ -97,34 +97,19 @@ legal_dst_factor(const struct gl_context *ctx, GLenum factor) */ static GLboolean validate_blend_factors(struct gl_context *ctx, const char *func, - GLenum sfactorRGB, GLenum dfactorRGB, - GLenum sfactorA, GLenum dfactorA) + GLenum srcfactor, GLenum dstfactor) { - if (!legal_src_factor(ctx, sfactorRGB)) { + if (!legal_src_factor(ctx, srcfactor)) { _mesa_error(ctx, GL_INVALID_ENUM, "%s(sfactorRGB = %s)", func, - _mesa_lookup_enum_by_nr(sfactorRGB)); + _mesa_lookup_enum_by_nr(srcfactor)); return GL_FALSE; } - if (!legal_dst_factor(ctx, dfactorRGB)) { + if (!legal_dst_factor(ctx, dstfactor)) { _mesa_error(ctx, GL_INVALID_ENUM, "%s(dfactorRGB = %s)", func, - _mesa_lookup_enum_by_nr(dfactorRGB)); - return GL_FALSE; - } - - if (sfactorA != sfactorRGB && !legal_src_factor(ctx, sfactorA)) { - _mesa_error(ctx, GL_INVALID_ENUM, - "%s(sfactorA = %s)", func, - _mesa_lookup_enum_by_nr(sfactorA)); - return GL_FALSE; - } - - if (dfactorA != dfactorRGB && !legal_dst_factor(ctx, dfactorA)) { - _mesa_error(ctx, GL_INVALID_ENUM, - "%s(dfactorA = %s)", func, - _mesa_lookup_enum_by_nr(dfactorA)); + _mesa_lookup_enum_by_nr(dstfactor)); return GL_FALSE; } @@ -138,190 +123,32 @@ validate_blend_factors(struct gl_context *ctx, const char *func, * \param sfactor source factor operator. * \param dfactor destination factor operator. * - * \sa glBlendFunc, glBlendFuncSeparateEXT + * \sa glBlendFunc */ void GLAPIENTRY _mesa_BlendFunc( GLenum sfactor, GLenum dfactor ) -{ - _mesa_BlendFuncSeparateEXT(sfactor, dfactor, sfactor, dfactor); -} - - -/** - * Set the separate blend source/dest factors for all draw buffers. - * - * \param sfactorRGB RGB source factor operator. - * \param dfactorRGB RGB destination factor operator. - * \param sfactorA alpha source factor operator. - * \param dfactorA alpha destination factor operator. - */ -void GLAPIENTRY -_mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB, - GLenum sfactorA, GLenum dfactorA ) { GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); if (MESA_VERBOSE & VERBOSE_API) - _mesa_debug(ctx, "glBlendFuncSeparate %s %s %s %s\n", - _mesa_lookup_enum_by_nr(sfactorRGB), - _mesa_lookup_enum_by_nr(dfactorRGB), - _mesa_lookup_enum_by_nr(sfactorA), - _mesa_lookup_enum_by_nr(dfactorA)); + _mesa_debug(ctx, "glBlendFunc %s %s\n", + _mesa_lookup_enum_by_nr(sfactor), + _mesa_lookup_enum_by_nr(dfactor)); - if (!validate_blend_factors(ctx, "glBlendFuncSeparate", - sfactorRGB, dfactorRGB, - sfactorA, dfactorA)) { + if (!validate_blend_factors(ctx, "glBlendFunc", sfactor, dfactor)) { return; } - if (ctx->Color.SrcRGB == sfactorRGB && - ctx->Color.DstRGB == dfactorRGB && - ctx->Color.SrcA == sfactorA && - ctx->Color.DstA == dfactorA) { + if (ctx->Color.SrcFactor == sfactor && + ctx->Color.DstFactor == dfactor) { return; } FLUSH_VERTICES(ctx, _NEW_COLOR); - ctx->Color.SrcRGB = sfactorRGB; - ctx->Color.DstRGB = dfactorRGB; - ctx->Color.SrcA = sfactorA; - ctx->Color.DstA = dfactorA; - if (ctx->Driver.BlendFuncSeparate) { - ctx->Driver.BlendFuncSeparate(ctx, sfactorRGB, dfactorRGB, - sfactorA, dfactorA); - } -} - - -#if _HAVE_FULL_GL -/** - * Check if given blend equation is legal. - * \return GL_TRUE if legal, GL_FALSE otherwise. - */ -static GLboolean -legal_blend_equation(const struct gl_context *ctx, GLenum mode) -{ - switch (mode) { - case GL_FUNC_ADD: - case GL_FUNC_SUBTRACT: - case GL_FUNC_REVERSE_SUBTRACT: - return GL_TRUE; - case GL_MIN: - case GL_MAX: - return ctx->Extensions.EXT_blend_minmax; - default: - return GL_FALSE; - } -} - - -/* This is really an extension function! */ -void GLAPIENTRY -_mesa_BlendEquation( GLenum mode ) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END(ctx); - - if (MESA_VERBOSE & VERBOSE_API) - _mesa_debug(ctx, "glBlendEquation(%s)\n", - _mesa_lookup_enum_by_nr(mode)); - - if (!legal_blend_equation(ctx, mode)) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquation"); - return; - } - - if (ctx->Color.EquationRGB == mode && ctx->Color.EquationA == mode) { - return; - } - - FLUSH_VERTICES(ctx, _NEW_COLOR); - ctx->Color.EquationRGB = mode; - ctx->Color.EquationA = mode; - - if (ctx->Driver.BlendEquationSeparate) - (*ctx->Driver.BlendEquationSeparate)( ctx, mode, mode ); -} - -void GLAPIENTRY -_mesa_BlendEquationSeparateEXT( GLenum modeRGB, GLenum modeA ) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END(ctx); - - if (MESA_VERBOSE & VERBOSE_API) - _mesa_debug(ctx, "glBlendEquationSeparateEXT(%s %s)\n", - _mesa_lookup_enum_by_nr(modeRGB), - _mesa_lookup_enum_by_nr(modeA)); - - if ( (modeRGB != modeA) && !ctx->Extensions.EXT_blend_equation_separate ) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glBlendEquationSeparateEXT not supported by driver"); - return; - } - - if (!legal_blend_equation(ctx, modeRGB)) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquationSeparateEXT(modeRGB)"); - return; - } - - if (!legal_blend_equation(ctx, modeA)) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquationSeparateEXT(modeA)"); - return; - } - - if (ctx->Color.EquationRGB == modeRGB && ctx->Color.EquationA == modeA) { - return; - } - - FLUSH_VERTICES(ctx, _NEW_COLOR); - ctx->Color.EquationRGB = modeRGB; - ctx->Color.EquationA = modeA; - - if (ctx->Driver.BlendEquationSeparate) - ctx->Driver.BlendEquationSeparate(ctx, modeRGB, modeA); -} - - -#endif /* _HAVE_FULL_GL */ - - -/** - * Set the blending color. - * - * \param red red color component. - * \param green green color component. - * \param blue blue color component. - * \param alpha alpha color component. - * - * \sa glBlendColor(). - * - * Clamps the parameters and updates gl_colorbuffer_attrib::BlendColor. On a - * change, flushes the vertices and notifies the driver via - * dd_function_table::BlendColor callback. - */ -void GLAPIENTRY -_mesa_BlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) -{ - GLfloat tmp[4]; - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END(ctx); - - tmp[0] = red; - tmp[1] = green; - tmp[2] = blue; - tmp[3] = alpha; - - if (TEST_EQ_4V(tmp, ctx->Color.BlendColor)) - return; - - FLUSH_VERTICES(ctx, _NEW_COLOR); - COPY_4FV( ctx->Color.BlendColor, tmp ); - - if (ctx->Driver.BlendColor) - (*ctx->Driver.BlendColor)(ctx, ctx->Color.BlendColor); + ctx->Color.SrcFactor = sfactor; + ctx->Color.DstFactor = dfactor; } @@ -507,13 +334,8 @@ void _mesa_init_color( struct gl_context * ctx ) ctx->Color.AlphaFunc = GL_ALWAYS; ctx->Color.AlphaRef = 0; ctx->Color.BlendEnabled = 0x0; - ctx->Color.SrcRGB = GL_ONE; - ctx->Color.DstRGB = GL_ZERO; - ctx->Color.SrcA = GL_ONE; - ctx->Color.DstA = GL_ZERO; - ctx->Color.EquationRGB = GL_FUNC_ADD; - ctx->Color.EquationA = GL_FUNC_ADD; - ASSIGN_4V( ctx->Color.BlendColor, 0.0, 0.0, 0.0, 0.0 ); + ctx->Color.SrcFactor = GL_ONE; + ctx->Color.DstFactor = GL_ZERO; ctx->Color.IndexLogicOpEnabled = GL_FALSE; ctx->Color.ColorLogicOpEnabled = GL_FALSE; ctx->Color.LogicOp = GL_COPY; diff --git a/reactos/dll/opengl/mesa/main/blend.h b/reactos/dll/opengl/mesa/main/blend.h index 3124702520b..66452957165 100644 --- a/reactos/dll/opengl/mesa/main/blend.h +++ b/reactos/dll/opengl/mesa/main/blend.h @@ -42,24 +42,6 @@ extern void GLAPIENTRY _mesa_BlendFunc( GLenum sfactor, GLenum dfactor ); -extern void GLAPIENTRY -_mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB, - GLenum sfactorA, GLenum dfactorA ); - - -extern void GLAPIENTRY -_mesa_BlendEquation( GLenum mode ); - - - -extern void GLAPIENTRY -_mesa_BlendEquationSeparateEXT( GLenum modeRGB, GLenum modeA ); - - -extern void GLAPIENTRY -_mesa_BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - - extern void GLAPIENTRY _mesa_AlphaFunc( GLenum func, GLclampf ref ); diff --git a/reactos/dll/opengl/mesa/main/bufferobj.c b/reactos/dll/opengl/mesa/main/bufferobj.c index f4251036d23..883aee9af8a 100644 --- a/reactos/dll/opengl/mesa/main/bufferobj.c +++ b/reactos/dll/opengl/mesa/main/bufferobj.c @@ -55,8 +55,6 @@ static inline struct gl_buffer_object ** get_buffer_target(struct gl_context *ctx, GLenum target) { switch (target) { - case GL_ARRAY_BUFFER_ARB: - return &ctx->Array.ArrayBufferObj; case GL_ELEMENT_ARRAY_BUFFER_ARB: return &ctx->Array.ElementArrayBufferObj; default: @@ -474,16 +472,6 @@ _mesa_init_buffer_objects( struct gl_context *ctx ) memset(&DummyBufferObject, 0, sizeof(DummyBufferObject)); _glthread_INIT_MUTEX(DummyBufferObject.Mutex); DummyBufferObject.RefCount = 1000*1000*1000; /* never delete */ - - _mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj, - ctx->Shared->NullBufferObj); -} - - -void -_mesa_free_buffer_objects( struct gl_context *ctx ) -{ - _mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj, NULL); } @@ -674,9 +662,6 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) unbind(ctx, &ctx->Array.VertexAttrib[j].BufferObj, bufObj); } - if (ctx->Array.ArrayBufferObj == bufObj) { - _mesa_BindBufferARB( GL_ARRAY_BUFFER_ARB, 0 ); - } if (ctx->Array.ElementArrayBufferObj == bufObj) { _mesa_BindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, 0 ); } diff --git a/reactos/dll/opengl/mesa/main/colortab.c b/reactos/dll/opengl/mesa/main/colortab.c deleted file mode 100644 index 17cc8b7325c..00000000000 --- a/reactos/dll/opengl/mesa/main/colortab.c +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 7.1 - * - * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#include - -#if FEATURE_colortable - -void GLAPIENTRY -_mesa_ColorTable( GLenum target, GLenum internalFormat, - GLsizei width, GLenum format, GLenum type, - const GLvoid *data ) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glColorTable(target)"); -} - - - -void GLAPIENTRY -_mesa_ColorSubTable( GLenum target, GLsizei start, - GLsizei count, GLenum format, GLenum type, - const GLvoid *data ) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glColorSubTable(target)"); -} - - - -static void GLAPIENTRY -_mesa_CopyColorTable(GLenum target, GLenum internalformat, - GLint x, GLint y, GLsizei width) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glCopyColorTable(target)"); -} - - - -static void GLAPIENTRY -_mesa_CopyColorSubTable(GLenum target, GLsizei start, - GLint x, GLint y, GLsizei width) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glCopyColorSubTable(target)"); -} - - -static void GLAPIENTRY -_mesa_GetColorTable( GLenum target, GLenum format, - GLenum type, GLvoid *data ) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTable(target)"); -} - - -static void GLAPIENTRY -_mesa_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) -{ - /* no extensions use this function */ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glColorTableParameterfv(target)"); -} - - - -static void GLAPIENTRY -_mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) -{ - /* no extensions use this function */ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glColorTableParameteriv(target)"); -} - - - -static void GLAPIENTRY -_mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params ) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameterfv(target)"); -} - - - -static void GLAPIENTRY -_mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params ) -{ - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END(ctx); - _mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameteriv(target)"); -} - - -void -_mesa_init_colortable_dispatch(struct _glapi_table *disp) -{ - SET_ColorSubTable(disp, _mesa_ColorSubTable); - SET_ColorTable(disp, _mesa_ColorTable); - SET_ColorTableParameterfv(disp, _mesa_ColorTableParameterfv); - SET_ColorTableParameteriv(disp, _mesa_ColorTableParameteriv); - SET_CopyColorSubTable(disp, _mesa_CopyColorSubTable); - SET_CopyColorTable(disp, _mesa_CopyColorTable); - SET_GetColorTable(disp, _mesa_GetColorTable); - SET_GetColorTableParameterfv(disp, _mesa_GetColorTableParameterfv); - SET_GetColorTableParameteriv(disp, _mesa_GetColorTableParameteriv); -} - - -#endif /* FEATURE_colortable */ diff --git a/reactos/dll/opengl/mesa/main/colortab.h b/reactos/dll/opengl/mesa/main/colortab.h deleted file mode 100644 index 4e225ffc951..00000000000 --- a/reactos/dll/opengl/mesa/main/colortab.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5.2 - * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - - -#ifndef COLORTAB_H -#define COLORTAB_H - - -#include "compiler.h" -#include "glheader.h" -#include "mfeatures.h" - -struct _glapi_table; - -#if FEATURE_colortable - -extern void GLAPIENTRY -_mesa_ColorTable( GLenum target, GLenum internalformat, - GLsizei width, GLenum format, GLenum type, - const GLvoid *table ); - -extern void GLAPIENTRY -_mesa_ColorSubTable( GLenum target, GLsizei start, - GLsizei count, GLenum format, GLenum type, - const GLvoid *table ); - -extern void -_mesa_init_colortable_dispatch(struct _glapi_table *disp); - -#else /* FEATURE_colortable */ - -static inline void GLAPIENTRY -_mesa_ColorTable( GLenum target, GLenum internalformat, - GLsizei width, GLenum format, GLenum type, - const GLvoid *table ) -{ - ASSERT_NO_FEATURE(); -} - -static inline void GLAPIENTRY -_mesa_ColorSubTable( GLenum target, GLsizei start, - GLsizei count, GLenum format, GLenum type, - const GLvoid *table ) -{ - ASSERT_NO_FEATURE(); -} - -static inline void -_mesa_init_colortable_dispatch(struct _glapi_table *disp) -{ -} - -#endif /* FEATURE_colortable */ - -#endif /* COLORTAB_H */ diff --git a/reactos/dll/opengl/mesa/main/config.h b/reactos/dll/opengl/mesa/main/config.h index 6a87467b0b6..4f5f18ecf39 100644 --- a/reactos/dll/opengl/mesa/main/config.h +++ b/reactos/dll/opengl/mesa/main/config.h @@ -97,9 +97,6 @@ /** Line width granularity */ #define LINE_WIDTH_GRANULARITY 0.1 -/** Max texture palette / color table size */ -#define MAX_COLOR_TABLE_SIZE 256 - /** Max memory to allow for a single texture image (in megabytes) */ #define MAX_TEXTURE_MBYTES 1024 diff --git a/reactos/dll/opengl/mesa/main/context.c b/reactos/dll/opengl/mesa/main/context.c index 597567b6049..8c4056fcc74 100644 --- a/reactos/dll/opengl/mesa/main/context.c +++ b/reactos/dll/opengl/mesa/main/context.c @@ -373,8 +373,7 @@ _mesa_init_current(struct gl_context *ctx) /* redo special cases: */ ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_WEIGHT], 1.0, 0.0, 0.0, 0.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_NORMAL], 0.0, 0.0, 1.0, 1.0 ); - ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR0], 1.0, 1.0, 1.0, 1.0 ); - ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR1], 0.0, 0.0, 0.0, 1.0 ); + ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR], 1.0, 1.0, 1.0, 1.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR_INDEX], 1.0, 0.0, 0.0, 1.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_EDGEFLAG], 1.0, 0.0, 0.0, 1.0 ); } @@ -406,7 +405,6 @@ _mesa_init_constants(struct gl_context *ctx) ctx->Const.MinLineWidthAA = MIN_LINE_WIDTH; ctx->Const.MaxLineWidthAA = MAX_LINE_WIDTH; ctx->Const.LineWidthGranularity = (GLfloat) LINE_WIDTH_GRANULARITY; - ctx->Const.MaxColorTableSize = MAX_COLOR_TABLE_SIZE; ctx->Const.MaxClipPlanes = 6; ctx->Const.MaxLights = MAX_LIGHTS; ctx->Const.MaxShininess = 128.0; @@ -742,7 +740,6 @@ _mesa_free_context_data( struct gl_context *ctx ) _mesa_reference_framebuffer(&ctx->ReadBuffer, NULL); _mesa_free_attrib_data(ctx); - _mesa_free_buffer_objects(ctx); _mesa_free_lighting_data( ctx ); _mesa_free_eval_data( ctx ); _mesa_free_texture_data( ctx ); @@ -750,8 +747,6 @@ _mesa_free_context_data( struct gl_context *ctx ) _mesa_free_viewport_data( ctx ); _mesa_free_varray_data(ctx, &ctx->Array); - _mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj, NULL); - /* free dispatch tables */ free(ctx->Exec); free(ctx->Save); diff --git a/reactos/dll/opengl/mesa/main/convolve.c b/reactos/dll/opengl/mesa/main/convolve.c deleted file mode 100644 index a20d411b22f..00000000000 --- a/reactos/dll/opengl/mesa/main/convolve.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5.2 - * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * Image convolution functions. - * - * Notes: filter kernel elements are indexed by and as in - * the GL spec. - */ - -#include - -#if FEATURE_convolve - -static void GLAPIENTRY -_mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionFilter1D"); -} - -static void GLAPIENTRY -_mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionFilter2D"); -} - - -static void GLAPIENTRY -_mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionParameterf"); -} - - -static void GLAPIENTRY -_mesa_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionParameterfv"); -} - - -static void GLAPIENTRY -_mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionParameteri"); -} - - -static void GLAPIENTRY -_mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionParameteriv"); -} - - -static void GLAPIENTRY -_mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glCopyConvolutionFilter1D"); -} - - -static void GLAPIENTRY -_mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glCopyConvolutionFilter2D"); -} - - -static void GLAPIENTRY -_mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, - GLvoid *image) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetConvolutionFilter"); -} - - -static void GLAPIENTRY -_mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glGetConvolutionParameterfv"); -} - - -static void GLAPIENTRY -_mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glGetConvolutionParameteriv"); -} - - -static void GLAPIENTRY -_mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type, - GLvoid *row, GLvoid *column, - GLvoid *span) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glGetSeparableFilter"); -} - - -static void GLAPIENTRY -_mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) -{ - GET_CURRENT_CONTEXT(ctx); - - _mesa_error(ctx, GL_INVALID_ENUM, "glSeparableFilter2D"); -} - -void -_mesa_init_convolve_dispatch(struct _glapi_table *disp) -{ - SET_ConvolutionFilter1D(disp, _mesa_ConvolutionFilter1D); - SET_ConvolutionFilter2D(disp, _mesa_ConvolutionFilter2D); - SET_ConvolutionParameterf(disp, _mesa_ConvolutionParameterf); - SET_ConvolutionParameterfv(disp, _mesa_ConvolutionParameterfv); - SET_ConvolutionParameteri(disp, _mesa_ConvolutionParameteri); - SET_ConvolutionParameteriv(disp, _mesa_ConvolutionParameteriv); - SET_CopyConvolutionFilter1D(disp, _mesa_CopyConvolutionFilter1D); - SET_CopyConvolutionFilter2D(disp, _mesa_CopyConvolutionFilter2D); - SET_GetConvolutionFilter(disp, _mesa_GetConvolutionFilter); - SET_GetConvolutionParameterfv(disp, _mesa_GetConvolutionParameterfv); - SET_GetConvolutionParameteriv(disp, _mesa_GetConvolutionParameteriv); - SET_SeparableFilter2D(disp, _mesa_SeparableFilter2D); - SET_GetSeparableFilter(disp, _mesa_GetSeparableFilter); -} - - -#endif /* FEATURE_convolve */ diff --git a/reactos/dll/opengl/mesa/main/convolve.h b/reactos/dll/opengl/mesa/main/convolve.h deleted file mode 100644 index 952285643b5..00000000000 --- a/reactos/dll/opengl/mesa/main/convolve.h +++ /dev/null @@ -1,51 +0,0 @@ - -/* - * Mesa 3-D graphics library - * Version: 3.5 - * - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - - -#ifndef CONVOLVE_H -#define CONVOLVE_H - - -#include "compiler.h" -#include "mfeatures.h" - -struct _glapi_table; - - -#if FEATURE_convolve - -extern void -_mesa_init_convolve_dispatch(struct _glapi_table *disp); - -#else /* FEATURE_convolve */ - -static inline void -_mesa_init_convolve_dispatch(struct _glapi_table *disp) -{ -} - -#endif /* FEATURE_convolve */ - -#endif /* CONVOLVE_H */ diff --git a/reactos/dll/opengl/mesa/main/dd.h b/reactos/dll/opengl/mesa/main/dd.h index 47ca70755e1..ba4403eb205 100644 --- a/reactos/dll/opengl/mesa/main/dd.h +++ b/reactos/dll/opengl/mesa/main/dd.h @@ -433,19 +433,6 @@ struct dd_function_table { /*@{*/ /** Specify the alpha test function */ void (*AlphaFunc)(struct gl_context *ctx, GLenum func, GLfloat ref); - /** Set the blend color */ - void (*BlendColor)(struct gl_context *ctx, const GLfloat color[4]); - /** Set the blend equation */ - void (*BlendEquationSeparate)(struct gl_context *ctx, GLenum modeRGB, GLenum modeA); - void (*BlendEquationSeparatei)(struct gl_context *ctx, GLuint buffer, - GLenum modeRGB, GLenum modeA); - /** Specify pixel arithmetic */ - void (*BlendFuncSeparate)(struct gl_context *ctx, - GLenum sfactorRGB, GLenum dfactorRGB, - GLenum sfactorA, GLenum dfactorA); - void (*BlendFuncSeparatei)(struct gl_context *ctx, GLuint buffer, - GLenum sfactorRGB, GLenum dfactorRGB, - GLenum sfactorA, GLenum dfactorA); /** Specify clear values for the color buffers */ void (*ClearColor)(struct gl_context *ctx, const union gl_color_union color); @@ -719,8 +706,6 @@ typedef struct { void (GLAPIENTRYP MultiTexCoord4fvARB)( GLenum, const GLfloat * ); void (GLAPIENTRYP Normal3f)( GLfloat, GLfloat, GLfloat ); void (GLAPIENTRYP Normal3fv)( const GLfloat * ); - void (GLAPIENTRYP SecondaryColor3fEXT)( GLfloat, GLfloat, GLfloat ); - void (GLAPIENTRYP SecondaryColor3fvEXT)( const GLfloat * ); void (GLAPIENTRYP TexCoord1f)( GLfloat ); void (GLAPIENTRYP TexCoord1fv)( const GLfloat * ); void (GLAPIENTRYP TexCoord2f)( GLfloat, GLfloat ); @@ -760,9 +745,6 @@ typedef struct { void (GLAPIENTRYP DrawArrays)( GLenum mode, GLint start, GLsizei count ); void (GLAPIENTRYP DrawElements)( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ); - void (GLAPIENTRYP DrawRangeElements)( GLenum mode, GLuint start, - GLuint end, GLsizei count, - GLenum type, const GLvoid *indices ); /*@}*/ /** diff --git a/reactos/dll/opengl/mesa/main/dispatch.h b/reactos/dll/opengl/mesa/main/dispatch.h index aac79306548..049585ba5ae 100644 --- a/reactos/dll/opengl/mesa/main/dispatch.h +++ b/reactos/dll/opengl/mesa/main/dispatch.h @@ -404,32 +404,6 @@ typedef PROC _glapi_proc; #define _gloffset_PopClientAttrib 334 #define _gloffset_PushClientAttrib 335 -#define _gloffset_BlendColor 336 -#define _gloffset_BlendEquation 337 -#define _gloffset_DrawRangeElements 338 -#define _gloffset_ColorTable 339 -#define _gloffset_ColorTableParameterfv 340 -#define _gloffset_ColorTableParameteriv 341 -#define _gloffset_CopyColorTable 342 -#define _gloffset_GetColorTable 343 -#define _gloffset_GetColorTableParameterfv 344 -#define _gloffset_GetColorTableParameteriv 345 -#define _gloffset_ColorSubTable 346 -#define _gloffset_CopyColorSubTable 347 -#define _gloffset_ConvolutionFilter1D 348 -#define _gloffset_ConvolutionFilter2D 349 -#define _gloffset_ConvolutionParameterf 350 -#define _gloffset_ConvolutionParameterfv 351 -#define _gloffset_ConvolutionParameteri 352 -#define _gloffset_ConvolutionParameteriv 353 -#define _gloffset_CopyConvolutionFilter1D 354 -#define _gloffset_CopyConvolutionFilter2D 355 -#define _gloffset_GetConvolutionFilter 356 -#define _gloffset_GetConvolutionParameterfv 357 -#define _gloffset_GetConvolutionParameteriv 358 -#define _gloffset_GetSeparableFilter 359 -#define _gloffset_SeparableFilter2D 360 -#define _gloffset_GetStringi 435 #define _gloffset_GetBufferParameteri64v 438 #define _gloffset_GetInteger64i_v 439 #define _gloffset_LoadTransposeMatrixdARB 441 @@ -478,30 +452,12 @@ typedef PROC _glapi_proc; #define _gloffset_PointParameterfvEXT 707 #define _gloffset_LockArraysEXT 708 #define _gloffset_UnlockArraysEXT 709 -#define _gloffset_SecondaryColor3bEXT 710 -#define _gloffset_SecondaryColor3bvEXT 711 -#define _gloffset_SecondaryColor3dEXT 712 -#define _gloffset_SecondaryColor3dvEXT 713 -#define _gloffset_SecondaryColor3fEXT 714 -#define _gloffset_SecondaryColor3fvEXT 715 -#define _gloffset_SecondaryColor3iEXT 716 -#define _gloffset_SecondaryColor3ivEXT 717 -#define _gloffset_SecondaryColor3sEXT 718 -#define _gloffset_SecondaryColor3svEXT 719 -#define _gloffset_SecondaryColor3ubEXT 720 -#define _gloffset_SecondaryColor3ubvEXT 721 -#define _gloffset_SecondaryColor3uiEXT 722 -#define _gloffset_SecondaryColor3uivEXT 723 -#define _gloffset_SecondaryColor3usEXT 724 -#define _gloffset_SecondaryColor3usvEXT 725 -#define _gloffset_SecondaryColorPointerEXT 726 #define _gloffset_FogCoordPointerEXT 729 #define _gloffset_FogCoorddEXT 730 #define _gloffset_FogCoorddvEXT 731 #define _gloffset_FogCoordfEXT 732 #define _gloffset_FogCoordfvEXT 733 #define _gloffset_PixelTexGenSGIX 734 -#define _gloffset_BlendFuncSeparateEXT 735 #define _gloffset_FlushVertexArrayRangeNV 736 #define _gloffset_VertexArrayRangeNV 737 #define _gloffset_CombinerInputNV 738 @@ -580,7 +536,6 @@ typedef PROC _glapi_proc; #define _gloffset_PointParameterivNV 864 #define _gloffset_ActiveStencilFaceEXT 865 #define _gloffset_DepthBoundsEXT 878 -#define _gloffset_BlendEquationSeparateEXT 879 #define _gloffset_BufferParameteriAPPLE 898 #define _gloffset_FlushMappedBufferRangeAPPLE 899 #define _gloffset_BindFragDataLocationEXT 900 @@ -4290,292 +4245,6 @@ static inline void SET_PushClientAttrib(struct _glapi_table *disp, void (GLAPIEN SET_by_offset(disp, _gloffset_PushClientAttrib, fn); } -typedef void (GLAPIENTRYP _glptr_BlendColor)(GLclampf, GLclampf, GLclampf, GLclampf); -#define CALL_BlendColor(disp, parameters) \ - (* GET_BlendColor(disp)) parameters -static inline _glptr_BlendColor GET_BlendColor(struct _glapi_table *disp) { - return (_glptr_BlendColor) (GET_by_offset(disp, _gloffset_BlendColor)); -} - -static inline void SET_BlendColor(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLclampf, GLclampf, GLclampf, GLclampf)) { - SET_by_offset(disp, _gloffset_BlendColor, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendEquation)(GLenum); -#define CALL_BlendEquation(disp, parameters) \ - (* GET_BlendEquation(disp)) parameters -static inline _glptr_BlendEquation GET_BlendEquation(struct _glapi_table *disp) { - return (_glptr_BlendEquation) (GET_by_offset(disp, _gloffset_BlendEquation)); -} - -static inline void SET_BlendEquation(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) { - SET_by_offset(disp, _gloffset_BlendEquation, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *); -#define CALL_DrawRangeElements(disp, parameters) \ - (* GET_DrawRangeElements(disp)) parameters -static inline _glptr_DrawRangeElements GET_DrawRangeElements(struct _glapi_table *disp) { - return (_glptr_DrawRangeElements) (GET_by_offset(disp, _gloffset_DrawRangeElements)); -} - -static inline void SET_DrawRangeElements(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *)) { - SET_by_offset(disp, _gloffset_DrawRangeElements, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorTable)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); -#define CALL_ColorTable(disp, parameters) \ - (* GET_ColorTable(disp)) parameters -static inline _glptr_ColorTable GET_ColorTable(struct _glapi_table *disp) { - return (_glptr_ColorTable) (GET_by_offset(disp, _gloffset_ColorTable)); -} - -static inline void SET_ColorTable(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)) { - SET_by_offset(disp, _gloffset_ColorTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorTableParameterfv)(GLenum, GLenum, const GLfloat *); -#define CALL_ColorTableParameterfv(disp, parameters) \ - (* GET_ColorTableParameterfv(disp)) parameters -static inline _glptr_ColorTableParameterfv GET_ColorTableParameterfv(struct _glapi_table *disp) { - return (_glptr_ColorTableParameterfv) (GET_by_offset(disp, _gloffset_ColorTableParameterfv)); -} - -static inline void SET_ColorTableParameterfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLfloat *)) { - SET_by_offset(disp, _gloffset_ColorTableParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorTableParameteriv)(GLenum, GLenum, const GLint *); -#define CALL_ColorTableParameteriv(disp, parameters) \ - (* GET_ColorTableParameteriv(disp)) parameters -static inline _glptr_ColorTableParameteriv GET_ColorTableParameteriv(struct _glapi_table *disp) { - return (_glptr_ColorTableParameteriv) (GET_by_offset(disp, _gloffset_ColorTableParameteriv)); -} - -static inline void SET_ColorTableParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLint *)) { - SET_by_offset(disp, _gloffset_ColorTableParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyColorTable)(GLenum, GLenum, GLint, GLint, GLsizei); -#define CALL_CopyColorTable(disp, parameters) \ - (* GET_CopyColorTable(disp)) parameters -static inline _glptr_CopyColorTable GET_CopyColorTable(struct _glapi_table *disp) { - return (_glptr_CopyColorTable) (GET_by_offset(disp, _gloffset_CopyColorTable)); -} - -static inline void SET_CopyColorTable(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint, GLint, GLsizei)) { - SET_by_offset(disp, _gloffset_CopyColorTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetColorTable)(GLenum, GLenum, GLenum, GLvoid *); -#define CALL_GetColorTable(disp, parameters) \ - (* GET_GetColorTable(disp)) parameters -static inline _glptr_GetColorTable GET_GetColorTable(struct _glapi_table *disp) { - return (_glptr_GetColorTable) (GET_by_offset(disp, _gloffset_GetColorTable)); -} - -static inline void SET_GetColorTable(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLvoid *)) { - SET_by_offset(disp, _gloffset_GetColorTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetColorTableParameterfv)(GLenum, GLenum, GLfloat *); -#define CALL_GetColorTableParameterfv(disp, parameters) \ - (* GET_GetColorTableParameterfv(disp)) parameters -static inline _glptr_GetColorTableParameterfv GET_GetColorTableParameterfv(struct _glapi_table *disp) { - return (_glptr_GetColorTableParameterfv) (GET_by_offset(disp, _gloffset_GetColorTableParameterfv)); -} - -static inline void SET_GetColorTableParameterfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfloat *)) { - SET_by_offset(disp, _gloffset_GetColorTableParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetColorTableParameteriv)(GLenum, GLenum, GLint *); -#define CALL_GetColorTableParameteriv(disp, parameters) \ - (* GET_GetColorTableParameteriv(disp)) parameters -static inline _glptr_GetColorTableParameteriv GET_GetColorTableParameteriv(struct _glapi_table *disp) { - return (_glptr_GetColorTableParameteriv) (GET_by_offset(disp, _gloffset_GetColorTableParameteriv)); -} - -static inline void SET_GetColorTableParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) { - SET_by_offset(disp, _gloffset_GetColorTableParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorSubTable)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); -#define CALL_ColorSubTable(disp, parameters) \ - (* GET_ColorSubTable(disp)) parameters -static inline _glptr_ColorSubTable GET_ColorSubTable(struct _glapi_table *disp) { - return (_glptr_ColorSubTable) (GET_by_offset(disp, _gloffset_ColorSubTable)); -} - -static inline void SET_ColorSubTable(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) { - SET_by_offset(disp, _gloffset_ColorSubTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyColorSubTable)(GLenum, GLsizei, GLint, GLint, GLsizei); -#define CALL_CopyColorSubTable(disp, parameters) \ - (* GET_CopyColorSubTable(disp)) parameters -static inline _glptr_CopyColorSubTable GET_CopyColorSubTable(struct _glapi_table *disp) { - return (_glptr_CopyColorSubTable) (GET_by_offset(disp, _gloffset_CopyColorSubTable)); -} - -static inline void SET_CopyColorSubTable(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLint, GLint, GLsizei)) { - SET_by_offset(disp, _gloffset_CopyColorSubTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionFilter1D)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); -#define CALL_ConvolutionFilter1D(disp, parameters) \ - (* GET_ConvolutionFilter1D(disp)) parameters -static inline _glptr_ConvolutionFilter1D GET_ConvolutionFilter1D(struct _glapi_table *disp) { - return (_glptr_ConvolutionFilter1D) (GET_by_offset(disp, _gloffset_ConvolutionFilter1D)); -} - -static inline void SET_ConvolutionFilter1D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)) { - SET_by_offset(disp, _gloffset_ConvolutionFilter1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionFilter2D)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); -#define CALL_ConvolutionFilter2D(disp, parameters) \ - (* GET_ConvolutionFilter2D(disp)) parameters -static inline _glptr_ConvolutionFilter2D GET_ConvolutionFilter2D(struct _glapi_table *disp) { - return (_glptr_ConvolutionFilter2D) (GET_by_offset(disp, _gloffset_ConvolutionFilter2D)); -} - -static inline void SET_ConvolutionFilter2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) { - SET_by_offset(disp, _gloffset_ConvolutionFilter2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameterf)(GLenum, GLenum, GLfloat); -#define CALL_ConvolutionParameterf(disp, parameters) \ - (* GET_ConvolutionParameterf(disp)) parameters -static inline _glptr_ConvolutionParameterf GET_ConvolutionParameterf(struct _glapi_table *disp) { - return (_glptr_ConvolutionParameterf) (GET_by_offset(disp, _gloffset_ConvolutionParameterf)); -} - -static inline void SET_ConvolutionParameterf(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfloat)) { - SET_by_offset(disp, _gloffset_ConvolutionParameterf, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameterfv)(GLenum, GLenum, const GLfloat *); -#define CALL_ConvolutionParameterfv(disp, parameters) \ - (* GET_ConvolutionParameterfv(disp)) parameters -static inline _glptr_ConvolutionParameterfv GET_ConvolutionParameterfv(struct _glapi_table *disp) { - return (_glptr_ConvolutionParameterfv) (GET_by_offset(disp, _gloffset_ConvolutionParameterfv)); -} - -static inline void SET_ConvolutionParameterfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLfloat *)) { - SET_by_offset(disp, _gloffset_ConvolutionParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameteri)(GLenum, GLenum, GLint); -#define CALL_ConvolutionParameteri(disp, parameters) \ - (* GET_ConvolutionParameteri(disp)) parameters -static inline _glptr_ConvolutionParameteri GET_ConvolutionParameteri(struct _glapi_table *disp) { - return (_glptr_ConvolutionParameteri) (GET_by_offset(disp, _gloffset_ConvolutionParameteri)); -} - -static inline void SET_ConvolutionParameteri(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint)) { - SET_by_offset(disp, _gloffset_ConvolutionParameteri, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameteriv)(GLenum, GLenum, const GLint *); -#define CALL_ConvolutionParameteriv(disp, parameters) \ - (* GET_ConvolutionParameteriv(disp)) parameters -static inline _glptr_ConvolutionParameteriv GET_ConvolutionParameteriv(struct _glapi_table *disp) { - return (_glptr_ConvolutionParameteriv) (GET_by_offset(disp, _gloffset_ConvolutionParameteriv)); -} - -static inline void SET_ConvolutionParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLint *)) { - SET_by_offset(disp, _gloffset_ConvolutionParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyConvolutionFilter1D)(GLenum, GLenum, GLint, GLint, GLsizei); -#define CALL_CopyConvolutionFilter1D(disp, parameters) \ - (* GET_CopyConvolutionFilter1D(disp)) parameters -static inline _glptr_CopyConvolutionFilter1D GET_CopyConvolutionFilter1D(struct _glapi_table *disp) { - return (_glptr_CopyConvolutionFilter1D) (GET_by_offset(disp, _gloffset_CopyConvolutionFilter1D)); -} - -static inline void SET_CopyConvolutionFilter1D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint, GLint, GLsizei)) { - SET_by_offset(disp, _gloffset_CopyConvolutionFilter1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyConvolutionFilter2D)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei); -#define CALL_CopyConvolutionFilter2D(disp, parameters) \ - (* GET_CopyConvolutionFilter2D(disp)) parameters -static inline _glptr_CopyConvolutionFilter2D GET_CopyConvolutionFilter2D(struct _glapi_table *disp) { - return (_glptr_CopyConvolutionFilter2D) (GET_by_offset(disp, _gloffset_CopyConvolutionFilter2D)); -} - -static inline void SET_CopyConvolutionFilter2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei)) { - SET_by_offset(disp, _gloffset_CopyConvolutionFilter2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetConvolutionFilter)(GLenum, GLenum, GLenum, GLvoid *); -#define CALL_GetConvolutionFilter(disp, parameters) \ - (* GET_GetConvolutionFilter(disp)) parameters -static inline _glptr_GetConvolutionFilter GET_GetConvolutionFilter(struct _glapi_table *disp) { - return (_glptr_GetConvolutionFilter) (GET_by_offset(disp, _gloffset_GetConvolutionFilter)); -} - -static inline void SET_GetConvolutionFilter(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLvoid *)) { - SET_by_offset(disp, _gloffset_GetConvolutionFilter, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetConvolutionParameterfv)(GLenum, GLenum, GLfloat *); -#define CALL_GetConvolutionParameterfv(disp, parameters) \ - (* GET_GetConvolutionParameterfv(disp)) parameters -static inline _glptr_GetConvolutionParameterfv GET_GetConvolutionParameterfv(struct _glapi_table *disp) { - return (_glptr_GetConvolutionParameterfv) (GET_by_offset(disp, _gloffset_GetConvolutionParameterfv)); -} - -static inline void SET_GetConvolutionParameterfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfloat *)) { - SET_by_offset(disp, _gloffset_GetConvolutionParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetConvolutionParameteriv)(GLenum, GLenum, GLint *); -#define CALL_GetConvolutionParameteriv(disp, parameters) \ - (* GET_GetConvolutionParameteriv(disp)) parameters -static inline _glptr_GetConvolutionParameteriv GET_GetConvolutionParameteriv(struct _glapi_table *disp) { - return (_glptr_GetConvolutionParameteriv) (GET_by_offset(disp, _gloffset_GetConvolutionParameteriv)); -} - -static inline void SET_GetConvolutionParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) { - SET_by_offset(disp, _gloffset_GetConvolutionParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetSeparableFilter)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *); -#define CALL_GetSeparableFilter(disp, parameters) \ - (* GET_GetSeparableFilter(disp)) parameters -static inline _glptr_GetSeparableFilter GET_GetSeparableFilter(struct _glapi_table *disp) { - return (_glptr_GetSeparableFilter) (GET_by_offset(disp, _gloffset_GetSeparableFilter)); -} - -static inline void SET_GetSeparableFilter(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *)) { - SET_by_offset(disp, _gloffset_GetSeparableFilter, fn); -} - -typedef void (GLAPIENTRYP _glptr_SeparableFilter2D)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *); -#define CALL_SeparableFilter2D(disp, parameters) \ - (* GET_SeparableFilter2D(disp)) parameters -static inline _glptr_SeparableFilter2D GET_SeparableFilter2D(struct _glapi_table *disp) { - return (_glptr_SeparableFilter2D) (GET_by_offset(disp, _gloffset_SeparableFilter2D)); -} - -static inline void SET_SeparableFilter2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *)) { - SET_by_offset(disp, _gloffset_SeparableFilter2D, fn); -} - -typedef const GLubyte * (GLAPIENTRYP _glptr_GetStringi)(GLenum, GLuint); -#define CALL_GetStringi(disp, parameters) \ - (* GET_GetStringi(disp)) parameters -static inline _glptr_GetStringi GET_GetStringi(struct _glapi_table *disp) { - return (_glptr_GetStringi) (GET_by_offset(disp, _gloffset_GetStringi)); -} - -static inline void SET_GetStringi(struct _glapi_table *disp, const GLubyte * (GLAPIENTRYP fn)(GLenum, GLuint)) { - SET_by_offset(disp, _gloffset_GetStringi, fn); -} - typedef void (GLAPIENTRYP _glptr_GetBufferParameteri64v)(GLenum, GLenum, GLint64 *); #define CALL_GetBufferParameteri64v(disp, parameters) \ (* GET_GetBufferParameteri64v(disp)) parameters @@ -5104,193 +4773,6 @@ static inline void SET_UnlockArraysEXT(struct _glapi_table *disp, void (GLAPIENT SET_by_offset(disp, _gloffset_UnlockArraysEXT, fn); } -typedef void (GLAPIENTRYP _glptr_SecondaryColor3bEXT)(GLbyte, GLbyte, GLbyte); -#define CALL_SecondaryColor3bEXT(disp, parameters) \ - (* GET_SecondaryColor3bEXT(disp)) parameters -static inline _glptr_SecondaryColor3bEXT GET_SecondaryColor3bEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3bEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3bEXT)); -} - -static inline void SET_SecondaryColor3bEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLbyte, GLbyte, GLbyte)) { - SET_by_offset(disp, _gloffset_SecondaryColor3bEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3bvEXT)(const GLbyte *); -#define CALL_SecondaryColor3bvEXT(disp, parameters) \ - (* GET_SecondaryColor3bvEXT(disp)) parameters -static inline _glptr_SecondaryColor3bvEXT GET_SecondaryColor3bvEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3bvEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3bvEXT)); -} - -static inline void SET_SecondaryColor3bvEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLbyte *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3bvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3dEXT)(GLdouble, GLdouble, GLdouble); -#define CALL_SecondaryColor3dEXT(disp, parameters) \ - (* GET_SecondaryColor3dEXT(disp)) parameters -static inline _glptr_SecondaryColor3dEXT GET_SecondaryColor3dEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3dEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3dEXT)); -} - -static inline void SET_SecondaryColor3dEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLdouble, GLdouble, GLdouble)) { - SET_by_offset(disp, _gloffset_SecondaryColor3dEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3dvEXT)(const GLdouble *); -#define CALL_SecondaryColor3dvEXT(disp, parameters) \ - (* GET_SecondaryColor3dvEXT(disp)) parameters -static inline _glptr_SecondaryColor3dvEXT GET_SecondaryColor3dvEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3dvEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3dvEXT)); -} - -static inline void SET_SecondaryColor3dvEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLdouble *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3dvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3fEXT)(GLfloat, GLfloat, GLfloat); -#define CALL_SecondaryColor3fEXT(disp, parameters) \ - (* GET_SecondaryColor3fEXT(disp)) parameters -static inline _glptr_SecondaryColor3fEXT GET_SecondaryColor3fEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3fEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3fEXT)); -} - -static inline void SET_SecondaryColor3fEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfloat, GLfloat, GLfloat)) { - SET_by_offset(disp, _gloffset_SecondaryColor3fEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3fvEXT)(const GLfloat *); -#define CALL_SecondaryColor3fvEXT(disp, parameters) \ - (* GET_SecondaryColor3fvEXT(disp)) parameters -static inline _glptr_SecondaryColor3fvEXT GET_SecondaryColor3fvEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3fvEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3fvEXT)); -} - -static inline void SET_SecondaryColor3fvEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfloat *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3fvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3iEXT)(GLint, GLint, GLint); -#define CALL_SecondaryColor3iEXT(disp, parameters) \ - (* GET_SecondaryColor3iEXT(disp)) parameters -static inline _glptr_SecondaryColor3iEXT GET_SecondaryColor3iEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3iEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3iEXT)); -} - -static inline void SET_SecondaryColor3iEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint)) { - SET_by_offset(disp, _gloffset_SecondaryColor3iEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3ivEXT)(const GLint *); -#define CALL_SecondaryColor3ivEXT(disp, parameters) \ - (* GET_SecondaryColor3ivEXT(disp)) parameters -static inline _glptr_SecondaryColor3ivEXT GET_SecondaryColor3ivEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3ivEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3ivEXT)); -} - -static inline void SET_SecondaryColor3ivEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLint *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3ivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3sEXT)(GLshort, GLshort, GLshort); -#define CALL_SecondaryColor3sEXT(disp, parameters) \ - (* GET_SecondaryColor3sEXT(disp)) parameters -static inline _glptr_SecondaryColor3sEXT GET_SecondaryColor3sEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3sEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3sEXT)); -} - -static inline void SET_SecondaryColor3sEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLshort, GLshort, GLshort)) { - SET_by_offset(disp, _gloffset_SecondaryColor3sEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3svEXT)(const GLshort *); -#define CALL_SecondaryColor3svEXT(disp, parameters) \ - (* GET_SecondaryColor3svEXT(disp)) parameters -static inline _glptr_SecondaryColor3svEXT GET_SecondaryColor3svEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3svEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3svEXT)); -} - -static inline void SET_SecondaryColor3svEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLshort *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3svEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3ubEXT)(GLubyte, GLubyte, GLubyte); -#define CALL_SecondaryColor3ubEXT(disp, parameters) \ - (* GET_SecondaryColor3ubEXT(disp)) parameters -static inline _glptr_SecondaryColor3ubEXT GET_SecondaryColor3ubEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3ubEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3ubEXT)); -} - -static inline void SET_SecondaryColor3ubEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLubyte, GLubyte, GLubyte)) { - SET_by_offset(disp, _gloffset_SecondaryColor3ubEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3ubvEXT)(const GLubyte *); -#define CALL_SecondaryColor3ubvEXT(disp, parameters) \ - (* GET_SecondaryColor3ubvEXT(disp)) parameters -static inline _glptr_SecondaryColor3ubvEXT GET_SecondaryColor3ubvEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3ubvEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3ubvEXT)); -} - -static inline void SET_SecondaryColor3ubvEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLubyte *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3ubvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3uiEXT)(GLuint, GLuint, GLuint); -#define CALL_SecondaryColor3uiEXT(disp, parameters) \ - (* GET_SecondaryColor3uiEXT(disp)) parameters -static inline _glptr_SecondaryColor3uiEXT GET_SecondaryColor3uiEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3uiEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3uiEXT)); -} - -static inline void SET_SecondaryColor3uiEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLuint)) { - SET_by_offset(disp, _gloffset_SecondaryColor3uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3uivEXT)(const GLuint *); -#define CALL_SecondaryColor3uivEXT(disp, parameters) \ - (* GET_SecondaryColor3uivEXT(disp)) parameters -static inline _glptr_SecondaryColor3uivEXT GET_SecondaryColor3uivEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3uivEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3uivEXT)); -} - -static inline void SET_SecondaryColor3uivEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLuint *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3usEXT)(GLushort, GLushort, GLushort); -#define CALL_SecondaryColor3usEXT(disp, parameters) \ - (* GET_SecondaryColor3usEXT(disp)) parameters -static inline _glptr_SecondaryColor3usEXT GET_SecondaryColor3usEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3usEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3usEXT)); -} - -static inline void SET_SecondaryColor3usEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLushort, GLushort, GLushort)) { - SET_by_offset(disp, _gloffset_SecondaryColor3usEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3usvEXT)(const GLushort *); -#define CALL_SecondaryColor3usvEXT(disp, parameters) \ - (* GET_SecondaryColor3usvEXT(disp)) parameters -static inline _glptr_SecondaryColor3usvEXT GET_SecondaryColor3usvEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColor3usvEXT) (GET_by_offset(disp, _gloffset_SecondaryColor3usvEXT)); -} - -static inline void SET_SecondaryColor3usvEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLushort *)) { - SET_by_offset(disp, _gloffset_SecondaryColor3usvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColorPointerEXT)(GLint, GLenum, GLsizei, const GLvoid *); -#define CALL_SecondaryColorPointerEXT(disp, parameters) \ - (* GET_SecondaryColorPointerEXT(disp)) parameters -static inline _glptr_SecondaryColorPointerEXT GET_SecondaryColorPointerEXT(struct _glapi_table *disp) { - return (_glptr_SecondaryColorPointerEXT) (GET_by_offset(disp, _gloffset_SecondaryColorPointerEXT)); -} - -static inline void SET_SecondaryColorPointerEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLenum, GLsizei, const GLvoid *)) { - SET_by_offset(disp, _gloffset_SecondaryColorPointerEXT, fn); -} - typedef void (GLAPIENTRYP _glptr_FogCoordPointerEXT)(GLenum, GLsizei, const GLvoid *); #define CALL_FogCoordPointerEXT(disp, parameters) \ (* GET_FogCoordPointerEXT(disp)) parameters @@ -5357,17 +4839,6 @@ static inline void SET_PixelTexGenSGIX(struct _glapi_table *disp, void (GLAPIENT SET_by_offset(disp, _gloffset_PixelTexGenSGIX, fn); } -typedef void (GLAPIENTRYP _glptr_BlendFuncSeparateEXT)(GLenum, GLenum, GLenum, GLenum); -#define CALL_BlendFuncSeparateEXT(disp, parameters) \ - (* GET_BlendFuncSeparateEXT(disp)) parameters -static inline _glptr_BlendFuncSeparateEXT GET_BlendFuncSeparateEXT(struct _glapi_table *disp) { - return (_glptr_BlendFuncSeparateEXT) (GET_by_offset(disp, _gloffset_BlendFuncSeparateEXT)); -} - -static inline void SET_BlendFuncSeparateEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLenum)) { - SET_by_offset(disp, _gloffset_BlendFuncSeparateEXT, fn); -} - typedef void (GLAPIENTRYP _glptr_FlushVertexArrayRangeNV)(void); #define CALL_FlushVertexArrayRangeNV(disp, parameters) \ (* GET_FlushVertexArrayRangeNV(disp)) parameters @@ -6226,17 +5697,6 @@ static inline void SET_DepthBoundsEXT(struct _glapi_table *disp, void (GLAPIENTR SET_by_offset(disp, _gloffset_DepthBoundsEXT, fn); } -typedef void (GLAPIENTRYP _glptr_BlendEquationSeparateEXT)(GLenum, GLenum); -#define CALL_BlendEquationSeparateEXT(disp, parameters) \ - (* GET_BlendEquationSeparateEXT(disp)) parameters -static inline _glptr_BlendEquationSeparateEXT GET_BlendEquationSeparateEXT(struct _glapi_table *disp) { - return (_glptr_BlendEquationSeparateEXT) (GET_by_offset(disp, _gloffset_BlendEquationSeparateEXT)); -} - -static inline void SET_BlendEquationSeparateEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum)) { - SET_by_offset(disp, _gloffset_BlendEquationSeparateEXT, fn); -} - typedef void (GLAPIENTRYP _glptr_BufferParameteriAPPLE)(GLenum, GLenum, GLint); #define CALL_BufferParameteriAPPLE(disp, parameters) \ (* GET_BufferParameteriAPPLE(disp)) parameters diff --git a/reactos/dll/opengl/mesa/main/dlist.c b/reactos/dll/opengl/mesa/main/dlist.c index ee0179cfdfa..ee3a7ade5cc 100644 --- a/reactos/dll/opengl/mesa/main/dlist.c +++ b/reactos/dll/opengl/mesa/main/dlist.c @@ -146,10 +146,7 @@ typedef enum OPCODE_ALPHA_FUNC, OPCODE_BIND_TEXTURE, OPCODE_BITMAP, - OPCODE_BLEND_COLOR, - OPCODE_BLEND_EQUATION, - OPCODE_BLEND_EQUATION_SEPARATE, - OPCODE_BLEND_FUNC_SEPARATE, + OPCODE_BLEND_FUNC, OPCODE_CALL_LIST, OPCODE_CALL_LIST_OFFSET, @@ -162,18 +159,6 @@ typedef enum OPCODE_CLIP_PLANE, OPCODE_COLOR_MASK, OPCODE_COLOR_MATERIAL, - OPCODE_COLOR_TABLE, - OPCODE_COLOR_TABLE_PARAMETER_FV, - OPCODE_COLOR_TABLE_PARAMETER_IV, - OPCODE_COLOR_SUB_TABLE, - OPCODE_CONVOLUTION_FILTER_1D, - OPCODE_CONVOLUTION_FILTER_2D, - OPCODE_CONVOLUTION_PARAMETER_I, - OPCODE_CONVOLUTION_PARAMETER_IV, - OPCODE_CONVOLUTION_PARAMETER_F, - OPCODE_CONVOLUTION_PARAMETER_FV, - OPCODE_COPY_COLOR_SUB_TABLE, - OPCODE_COPY_COLOR_TABLE, OPCODE_COPY_PIXELS, OPCODE_COPY_TEX_IMAGE1D, OPCODE_COPY_TEX_IMAGE2D, @@ -464,22 +449,6 @@ _mesa_delete_list(struct gl_context *ctx, struct gl_display_list *dlist) free(n[7].data); n += InstSize[n[0].opcode]; break; - case OPCODE_COLOR_TABLE: - free(n[6].data); - n += InstSize[n[0].opcode]; - break; - case OPCODE_COLOR_SUB_TABLE: - free(n[6].data); - n += InstSize[n[0].opcode]; - break; - case OPCODE_CONVOLUTION_FILTER_1D: - free(n[6].data); - n += InstSize[n[0].opcode]; - break; - case OPCODE_CONVOLUTION_FILTER_2D: - free(n[7].data); - n += InstSize[n[0].opcode]; - break; case OPCODE_POLYGON_STIPPLE: free(n[1].data); n += InstSize[n[0].opcode]; @@ -836,85 +805,23 @@ save_Bitmap(GLsizei width, GLsizei height, } -static void GLAPIENTRY -save_BlendEquation(GLenum mode) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION, 1); - if (n) { - n[1].e = mode; - } - if (ctx->ExecuteFlag) { - CALL_BlendEquation(ctx->Exec, (mode)); - } -} - - -static void GLAPIENTRY -save_BlendEquationSeparateEXT(GLenum modeRGB, GLenum modeA) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION_SEPARATE, 2); - if (n) { - n[1].e = modeRGB; - n[2].e = modeA; - } - if (ctx->ExecuteFlag) { - CALL_BlendEquationSeparateEXT(ctx->Exec, (modeRGB, modeA)); - } -} - - -static void GLAPIENTRY -save_BlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, - GLenum sfactorA, GLenum dfactorA) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_BLEND_FUNC_SEPARATE, 4); - if (n) { - n[1].e = sfactorRGB; - n[2].e = dfactorRGB; - n[3].e = sfactorA; - n[4].e = dfactorA; - } - if (ctx->ExecuteFlag) { - CALL_BlendFuncSeparateEXT(ctx->Exec, - (sfactorRGB, dfactorRGB, sfactorA, dfactorA)); - } -} - - static void GLAPIENTRY save_BlendFunc(GLenum srcfactor, GLenum dstfactor) -{ - save_BlendFuncSeparateEXT(srcfactor, dstfactor, srcfactor, dstfactor); -} - - -static void GLAPIENTRY -save_BlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { GET_CURRENT_CONTEXT(ctx); Node *n; ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_BLEND_COLOR, 4); + n = alloc_instruction(ctx, OPCODE_BLEND_FUNC, 2); if (n) { - n[1].f = red; - n[2].f = green; - n[3].f = blue; - n[4].f = alpha; + n[1].e = srcfactor; + n[2].e = dstfactor; } if (ctx->ExecuteFlag) { - CALL_BlendColor(ctx->Exec, (red, green, blue, alpha)); + CALL_BlendFunc(ctx->Exec, (srcfactor, dstfactor)); } } + static void invalidate_saved_current_state( struct gl_context *ctx ) { GLint i; @@ -1160,313 +1067,6 @@ save_ColorMaterial(GLenum face, GLenum mode) } -static void GLAPIENTRY -save_ColorTable(GLenum target, GLenum internalFormat, - GLsizei width, GLenum format, GLenum type, - const GLvoid * table) -{ - GET_CURRENT_CONTEXT(ctx); - if (_mesa_is_proxy_texture(target)) { - /* execute immediately */ - CALL_ColorTable(ctx->Exec, (target, internalFormat, width, - format, type, table)); - } - else { - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_COLOR_TABLE, 6); - if (n) { - n[1].e = target; - n[2].e = internalFormat; - n[3].i = width; - n[4].e = format; - n[5].e = type; - n[6].data = unpack_image(ctx, 1, width, 1, 1, format, type, table, - &ctx->Unpack); - } - if (ctx->ExecuteFlag) { - CALL_ColorTable(ctx->Exec, (target, internalFormat, width, - format, type, table)); - } - } -} - - - -static void GLAPIENTRY -save_ColorTableParameterfv(GLenum target, GLenum pname, - const GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - - n = alloc_instruction(ctx, OPCODE_COLOR_TABLE_PARAMETER_FV, 6); - if (n) { - n[1].e = target; - n[2].e = pname; - n[3].f = params[0]; - if (pname == GL_COLOR_TABLE_SGI || - pname == GL_POST_CONVOLUTION_COLOR_TABLE_SGI || - pname == GL_TEXTURE_COLOR_TABLE_SGI) { - n[4].f = params[1]; - n[5].f = params[2]; - n[6].f = params[3]; - } - } - - if (ctx->ExecuteFlag) { - CALL_ColorTableParameterfv(ctx->Exec, (target, pname, params)); - } -} - - -static void GLAPIENTRY -save_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - - n = alloc_instruction(ctx, OPCODE_COLOR_TABLE_PARAMETER_IV, 6); - if (n) { - n[1].e = target; - n[2].e = pname; - n[3].i = params[0]; - if (pname == GL_COLOR_TABLE_SGI || - pname == GL_POST_CONVOLUTION_COLOR_TABLE_SGI || - pname == GL_TEXTURE_COLOR_TABLE_SGI) { - n[4].i = params[1]; - n[5].i = params[2]; - n[6].i = params[3]; - } - } - - if (ctx->ExecuteFlag) { - CALL_ColorTableParameteriv(ctx->Exec, (target, pname, params)); - } -} - - - -static void GLAPIENTRY -save_ColorSubTable(GLenum target, GLsizei start, GLsizei count, - GLenum format, GLenum type, const GLvoid * table) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_COLOR_SUB_TABLE, 6); - if (n) { - n[1].e = target; - n[2].i = start; - n[3].i = count; - n[4].e = format; - n[5].e = type; - n[6].data = unpack_image(ctx, 1, count, 1, 1, format, type, table, - &ctx->Unpack); - } - if (ctx->ExecuteFlag) { - CALL_ColorSubTable(ctx->Exec, - (target, start, count, format, type, table)); - } -} - - -static void GLAPIENTRY -save_CopyColorSubTable(GLenum target, GLsizei start, - GLint x, GLint y, GLsizei width) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_COPY_COLOR_SUB_TABLE, 5); - if (n) { - n[1].e = target; - n[2].i = start; - n[3].i = x; - n[4].i = y; - n[5].i = width; - } - if (ctx->ExecuteFlag) { - CALL_CopyColorSubTable(ctx->Exec, (target, start, x, y, width)); - } -} - - -static void GLAPIENTRY -save_CopyColorTable(GLenum target, GLenum internalformat, - GLint x, GLint y, GLsizei width) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_COPY_COLOR_TABLE, 5); - if (n) { - n[1].e = target; - n[2].e = internalformat; - n[3].i = x; - n[4].i = y; - n[5].i = width; - } - if (ctx->ExecuteFlag) { - CALL_CopyColorTable(ctx->Exec, (target, internalformat, x, y, width)); - } -} - - -static void GLAPIENTRY -save_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, - GLenum format, GLenum type, const GLvoid * filter) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - - n = alloc_instruction(ctx, OPCODE_CONVOLUTION_FILTER_1D, 6); - if (n) { - n[1].e = target; - n[2].e = internalFormat; - n[3].i = width; - n[4].e = format; - n[5].e = type; - n[6].data = unpack_image(ctx, 1, width, 1, 1, format, type, filter, - &ctx->Unpack); - } - if (ctx->ExecuteFlag) { - CALL_ConvolutionFilter1D(ctx->Exec, (target, internalFormat, width, - format, type, filter)); - } -} - - -static void GLAPIENTRY -save_ConvolutionFilter2D(GLenum target, GLenum internalFormat, - GLsizei width, GLsizei height, GLenum format, - GLenum type, const GLvoid * filter) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - - n = alloc_instruction(ctx, OPCODE_CONVOLUTION_FILTER_2D, 7); - if (n) { - n[1].e = target; - n[2].e = internalFormat; - n[3].i = width; - n[4].i = height; - n[5].e = format; - n[6].e = type; - n[7].data = unpack_image(ctx, 2, width, height, 1, format, type, filter, - &ctx->Unpack); - } - if (ctx->ExecuteFlag) { - CALL_ConvolutionFilter2D(ctx->Exec, - (target, internalFormat, width, height, format, - type, filter)); - } -} - - -static void GLAPIENTRY -save_ConvolutionParameteri(GLenum target, GLenum pname, GLint param) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_I, 3); - if (n) { - n[1].e = target; - n[2].e = pname; - n[3].i = param; - } - if (ctx->ExecuteFlag) { - CALL_ConvolutionParameteri(ctx->Exec, (target, pname, param)); - } -} - - -static void GLAPIENTRY -save_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_IV, 6); - if (n) { - n[1].e = target; - n[2].e = pname; - n[3].i = params[0]; - if (pname == GL_CONVOLUTION_BORDER_COLOR || - pname == GL_CONVOLUTION_FILTER_SCALE || - pname == GL_CONVOLUTION_FILTER_BIAS) { - n[4].i = params[1]; - n[5].i = params[2]; - n[6].i = params[3]; - } - else { - n[4].i = n[5].i = n[6].i = 0; - } - } - if (ctx->ExecuteFlag) { - CALL_ConvolutionParameteriv(ctx->Exec, (target, pname, params)); - } -} - - -static void GLAPIENTRY -save_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_F, 3); - if (n) { - n[1].e = target; - n[2].e = pname; - n[3].f = param; - } - if (ctx->ExecuteFlag) { - CALL_ConvolutionParameterf(ctx->Exec, (target, pname, param)); - } -} - - -static void GLAPIENTRY -save_ConvolutionParameterfv(GLenum target, GLenum pname, - const GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - Node *n; - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_FV, 6); - if (n) { - n[1].e = target; - n[2].e = pname; - n[3].f = params[0]; - if (pname == GL_CONVOLUTION_BORDER_COLOR || - pname == GL_CONVOLUTION_FILTER_SCALE || - pname == GL_CONVOLUTION_FILTER_BIAS) { - n[4].f = params[1]; - n[5].f = params[2]; - n[6].f = params[3]; - } - else { - n[4].f = n[5].f = n[6].f = 0.0F; - } - } - if (ctx->ExecuteFlag) { - CALL_ConvolutionParameterfv(ctx->Exec, (target, pname, params)); - } -} - - static void GLAPIENTRY save_CopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { @@ -4191,37 +3791,25 @@ save_FogCoordfvEXT(const GLfloat * v) static void GLAPIENTRY save_Color3f(GLfloat x, GLfloat y, GLfloat z) { - save_Attr3fNV(VERT_ATTRIB_COLOR0, x, y, z); + save_Attr3fNV(VERT_ATTRIB_COLOR, x, y, z); } static void GLAPIENTRY save_Color3fv(const GLfloat * v) { - save_Attr3fNV(VERT_ATTRIB_COLOR0, v[0], v[1], v[2]); + save_Attr3fNV(VERT_ATTRIB_COLOR, v[0], v[1], v[2]); } static void GLAPIENTRY save_Color4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - save_Attr4fNV(VERT_ATTRIB_COLOR0, x, y, z, w); + save_Attr4fNV(VERT_ATTRIB_COLOR, x, y, z, w); } static void GLAPIENTRY save_Color4fv(const GLfloat * v) { - save_Attr4fNV(VERT_ATTRIB_COLOR0, v[0], v[1], v[2], v[3]); -} - -static void GLAPIENTRY -save_SecondaryColor3fEXT(GLfloat x, GLfloat y, GLfloat z) -{ - save_Attr3fNV(VERT_ATTRIB_COLOR1, x, y, z); -} - -static void GLAPIENTRY -save_SecondaryColor3fvEXT(const GLfloat * v) -{ - save_Attr3fNV(VERT_ATTRIB_COLOR1, v[0], v[1], v[2]); + save_Attr4fNV(VERT_ATTRIB_COLOR, v[0], v[1], v[2], v[3]); } @@ -4528,20 +4116,9 @@ execute_list(struct gl_context *ctx, GLuint list) ctx->Unpack = save; /* restore */ } break; - case OPCODE_BLEND_COLOR: - CALL_BlendColor(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f)); + case OPCODE_BLEND_FUNC: + CALL_BlendFunc(ctx->Exec, (n[1].e, n[2].e)); break; - case OPCODE_BLEND_EQUATION: - CALL_BlendEquation(ctx->Exec, (n[1].e)); - break; - case OPCODE_BLEND_EQUATION_SEPARATE: - CALL_BlendEquationSeparateEXT(ctx->Exec, (n[1].e, n[2].e)); - break; - case OPCODE_BLEND_FUNC_SEPARATE: - CALL_BlendFuncSeparateEXT(ctx->Exec, - (n[1].e, n[2].e, n[3].e, n[4].e)); - break; - case OPCODE_CALL_LIST: /* Generated by glCallList(), don't add ListBase */ if (ctx->ListState.CallDepth < MAX_LIST_NESTING) { @@ -4593,102 +4170,6 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_COLOR_MATERIAL: CALL_ColorMaterial(ctx->Exec, (n[1].e, n[2].e)); break; - case OPCODE_COLOR_TABLE: - { - const struct gl_pixelstore_attrib save = ctx->Unpack; - ctx->Unpack = ctx->DefaultPacking; - CALL_ColorTable(ctx->Exec, (n[1].e, n[2].e, n[3].i, n[4].e, - n[5].e, n[6].data)); - ctx->Unpack = save; /* restore */ - } - break; - case OPCODE_COLOR_TABLE_PARAMETER_FV: - { - GLfloat params[4]; - params[0] = n[3].f; - params[1] = n[4].f; - params[2] = n[5].f; - params[3] = n[6].f; - CALL_ColorTableParameterfv(ctx->Exec, - (n[1].e, n[2].e, params)); - } - break; - case OPCODE_COLOR_TABLE_PARAMETER_IV: - { - GLint params[4]; - params[0] = n[3].i; - params[1] = n[4].i; - params[2] = n[5].i; - params[3] = n[6].i; - CALL_ColorTableParameteriv(ctx->Exec, - (n[1].e, n[2].e, params)); - } - break; - case OPCODE_COLOR_SUB_TABLE: - { - const struct gl_pixelstore_attrib save = ctx->Unpack; - ctx->Unpack = ctx->DefaultPacking; - CALL_ColorSubTable(ctx->Exec, (n[1].e, n[2].i, n[3].i, - n[4].e, n[5].e, n[6].data)); - ctx->Unpack = save; /* restore */ - } - break; - case OPCODE_CONVOLUTION_FILTER_1D: - { - const struct gl_pixelstore_attrib save = ctx->Unpack; - ctx->Unpack = ctx->DefaultPacking; - CALL_ConvolutionFilter1D(ctx->Exec, (n[1].e, n[2].i, n[3].i, - n[4].e, n[5].e, - n[6].data)); - ctx->Unpack = save; /* restore */ - } - break; - case OPCODE_CONVOLUTION_FILTER_2D: - { - const struct gl_pixelstore_attrib save = ctx->Unpack; - ctx->Unpack = ctx->DefaultPacking; - CALL_ConvolutionFilter2D(ctx->Exec, (n[1].e, n[2].i, n[3].i, - n[4].i, n[5].e, n[6].e, - n[7].data)); - ctx->Unpack = save; /* restore */ - } - break; - case OPCODE_CONVOLUTION_PARAMETER_I: - CALL_ConvolutionParameteri(ctx->Exec, (n[1].e, n[2].e, n[3].i)); - break; - case OPCODE_CONVOLUTION_PARAMETER_IV: - { - GLint params[4]; - params[0] = n[3].i; - params[1] = n[4].i; - params[2] = n[5].i; - params[3] = n[6].i; - CALL_ConvolutionParameteriv(ctx->Exec, - (n[1].e, n[2].e, params)); - } - break; - case OPCODE_CONVOLUTION_PARAMETER_F: - CALL_ConvolutionParameterf(ctx->Exec, (n[1].e, n[2].e, n[3].f)); - break; - case OPCODE_CONVOLUTION_PARAMETER_FV: - { - GLfloat params[4]; - params[0] = n[3].f; - params[1] = n[4].f; - params[2] = n[5].f; - params[3] = n[6].f; - CALL_ConvolutionParameterfv(ctx->Exec, - (n[1].e, n[2].e, params)); - } - break; - case OPCODE_COPY_COLOR_SUB_TABLE: - CALL_CopyColorSubTable(ctx->Exec, (n[1].e, n[2].i, - n[3].i, n[4].i, n[5].i)); - break; - case OPCODE_COPY_COLOR_TABLE: - CALL_CopyColorSubTable(ctx->Exec, (n[1].e, n[2].i, - n[3].i, n[4].i, n[5].i)); - break; case OPCODE_COPY_PIXELS: CALL_CopyPixels(ctx->Exec, (n[1].i, n[2].i, (GLsizei) n[3].i, (GLsizei) n[4].i, @@ -5902,98 +5383,6 @@ exec_VertexPointer(GLint size, GLenum type, GLsizei stride, CALL_VertexPointer(ctx->Exec, (size, type, stride, ptr)); } -static void GLAPIENTRY -exec_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, - GLint x, GLint y, GLsizei width) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_CopyConvolutionFilter1D(ctx->Exec, - (target, internalFormat, x, y, width)); -} - -static void GLAPIENTRY -exec_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, - GLint x, GLint y, GLsizei width, GLsizei height) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_CopyConvolutionFilter2D(ctx->Exec, - (target, internalFormat, x, y, width, - height)); -} - -static void GLAPIENTRY -exec_GetColorTable(GLenum target, GLenum format, GLenum type, GLvoid * data) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetColorTable(ctx->Exec, (target, format, type, data)); -} - -static void GLAPIENTRY -exec_GetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetColorTableParameterfv(ctx->Exec, (target, pname, params)); -} - -static void GLAPIENTRY -exec_GetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetColorTableParameteriv(ctx->Exec, (target, pname, params)); -} - -static void GLAPIENTRY -exec_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, - GLvoid * image) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetConvolutionFilter(ctx->Exec, (target, format, type, image)); -} - -static void GLAPIENTRY -exec_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetConvolutionParameterfv(ctx->Exec, (target, pname, params)); -} - -static void GLAPIENTRY -exec_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetConvolutionParameteriv(ctx->Exec, (target, pname, params)); -} - -static void GLAPIENTRY -exec_GetSeparableFilter(GLenum target, GLenum format, GLenum type, - GLvoid *row, GLvoid *column, GLvoid *span) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_GetSeparableFilter(ctx->Exec, - (target, format, type, row, column, span)); -} - -static void GLAPIENTRY -exec_SeparableFilter2D(GLenum target, GLenum internalFormat, - GLsizei width, GLsizei height, GLenum format, - GLenum type, const GLvoid *row, const GLvoid *column) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_SeparableFilter2D(ctx->Exec, - (target, internalFormat, width, height, format, - type, row, column)); -} - static void GLAPIENTRY exec_ColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr) @@ -6063,15 +5452,6 @@ exec_UnlockArraysEXT(void) CALL_UnlockArraysEXT(ctx->Exec, ()); } -static void GLAPIENTRY -exec_SecondaryColorPointerEXT(GLint size, GLenum type, - GLsizei stride, const GLvoid *ptr) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_SecondaryColorPointerEXT(ctx->Exec, (size, type, stride, ptr)); -} - static void GLAPIENTRY exec_FogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *ptr) { @@ -6329,50 +5709,9 @@ _mesa_create_save_table(void) SET_TexSubImage2D(table, save_TexSubImage2D); SET_VertexPointer(table, exec_VertexPointer); - /* GL_ARB_imaging */ - /* Not all are supported */ - SET_BlendColor(table, save_BlendColor); - SET_BlendEquation(table, save_BlendEquation); - SET_ColorSubTable(table, save_ColorSubTable); - SET_ColorTable(table, save_ColorTable); - SET_ColorTableParameterfv(table, save_ColorTableParameterfv); - SET_ColorTableParameteriv(table, save_ColorTableParameteriv); - SET_ConvolutionFilter1D(table, save_ConvolutionFilter1D); - SET_ConvolutionFilter2D(table, save_ConvolutionFilter2D); - SET_ConvolutionParameterf(table, save_ConvolutionParameterf); - SET_ConvolutionParameterfv(table, save_ConvolutionParameterfv); - SET_ConvolutionParameteri(table, save_ConvolutionParameteri); - SET_ConvolutionParameteriv(table, save_ConvolutionParameteriv); - SET_CopyColorSubTable(table, save_CopyColorSubTable); - SET_CopyColorTable(table, save_CopyColorTable); - SET_CopyConvolutionFilter1D(table, exec_CopyConvolutionFilter1D); - SET_CopyConvolutionFilter2D(table, exec_CopyConvolutionFilter2D); - SET_GetColorTable(table, exec_GetColorTable); - SET_GetColorTableParameterfv(table, exec_GetColorTableParameterfv); - SET_GetColorTableParameteriv(table, exec_GetColorTableParameteriv); - SET_GetConvolutionFilter(table, exec_GetConvolutionFilter); - SET_GetConvolutionParameterfv(table, exec_GetConvolutionParameterfv); - SET_GetConvolutionParameteriv(table, exec_GetConvolutionParameteriv); - SET_GetSeparableFilter(table, exec_GetSeparableFilter); - SET_SeparableFilter2D(table, exec_SeparableFilter2D); - - /* 2. GL_EXT_blend_color */ -#if 0 - SET_BlendColorEXT(table, save_BlendColorEXT); -#endif - /* 3. GL_EXT_polygon_offset */ SET_PolygonOffsetEXT(table, save_PolygonOffsetEXT); - /* 14. GL_SGI_color_table */ -#if 0 - SET_ColorTableSGI(table, save_ColorTable); - SET_ColorSubTableSGI(table, save_ColorSubTable); - SET_GetColorTableSGI(table, exec_GetColorTable); - SET_GetColorTableParameterfvSGI(table, exec_GetColorTableParameterfv); - SET_GetColorTableParameterivSGI(table, exec_GetColorTableParameteriv); -#endif - /* 30. GL_EXT_vertex_array */ SET_ColorPointerEXT(table, exec_ColorPointerEXT); SET_EdgeFlagPointerEXT(table, exec_EdgeFlagPointerEXT); @@ -6381,11 +5720,6 @@ _mesa_create_save_table(void) SET_TexCoordPointerEXT(table, exec_TexCoordPointerEXT); SET_VertexPointerEXT(table, exec_VertexPointerEXT); - /* 37. GL_EXT_blend_minmax */ -#if 0 - SET_BlendEquationEXT(table, save_BlendEquationEXT); -#endif - /* 54. GL_EXT_point_parameters */ SET_PointParameterfEXT(table, save_PointParameterfEXT); SET_PointParameterfvEXT(table, save_PointParameterfvEXT); @@ -6394,15 +5728,9 @@ _mesa_create_save_table(void) SET_LockArraysEXT(table, exec_LockArraysEXT); SET_UnlockArraysEXT(table, exec_UnlockArraysEXT); - /* 145. GL_EXT_secondary_color */ - SET_SecondaryColorPointerEXT(table, exec_SecondaryColorPointerEXT); - /* 149. GL_EXT_fog_coord */ SET_FogCoordPointerEXT(table, exec_FogCoordPointerEXT); - /* 173. GL_EXT_blend_func_separate */ - SET_BlendFuncSeparateEXT(table, save_BlendFuncSeparateEXT); - /* 197. GL_MESA_window_pos */ SET_WindowPos2dMESA(table, save_WindowPos2dMESA); SET_WindowPos2dvMESA(table, save_WindowPos2dvMESA); @@ -6463,9 +5791,6 @@ _mesa_create_save_table(void) SET_MapBufferARB(table, _mesa_MapBufferARB); SET_UnmapBufferARB(table, _mesa_UnmapBufferARB); - /* 299. GL_EXT_blend_equation_separate */ - SET_BlendEquationSeparateEXT(table, save_BlendEquationSeparateEXT); - /* ARB 50. GL_ARB_map_buffer_range */ #if FEATURE_ARB_map_buffer_range SET_MapBufferRange(table, _mesa_MapBufferRange); /* no dlist save */ @@ -6547,16 +5872,6 @@ print_list(struct gl_context *ctx, GLuint list) printf("CallList %d + offset %u = %u\n", (int) n[1].ui, ctx->List.ListBase, ctx->List.ListBase + n[1].ui); break; - case OPCODE_COLOR_TABLE_PARAMETER_FV: - printf("ColorTableParameterfv %s %s %f %f %f %f\n", - enum_string(n[1].e), enum_string(n[2].e), - n[3].f, n[4].f, n[5].f, n[6].f); - break; - case OPCODE_COLOR_TABLE_PARAMETER_IV: - printf("ColorTableParameteriv %s %s %d %d %d %d\n", - enum_string(n[1].e), enum_string(n[2].e), - n[3].i, n[4].i, n[5].i, n[6].i); - break; case OPCODE_DISABLE: printf("Disable %s\n", enum_string(n[1].e)); break; @@ -6786,8 +6101,6 @@ _mesa_save_vtxfmt_init(GLvertexformat * vfmt) vfmt->Materialfv = save_Materialfv; vfmt->Normal3f = save_Normal3f; vfmt->Normal3fv = save_Normal3fv; - vfmt->SecondaryColor3fEXT = save_SecondaryColor3fEXT; - vfmt->SecondaryColor3fvEXT = save_SecondaryColor3fvEXT; vfmt->TexCoord1f = save_TexCoord1f; vfmt->TexCoord1fv = save_TexCoord1fv; vfmt->TexCoord2f = save_TexCoord2f; @@ -6822,7 +6135,6 @@ _mesa_save_vtxfmt_init(GLvertexformat * vfmt) #if 0 vfmt->DrawArrays = 0; vfmt->DrawElements = 0; - vfmt->DrawRangeElements = 0; #endif } diff --git a/reactos/dll/opengl/mesa/main/enable.c b/reactos/dll/opengl/mesa/main/enable.c index 9b9d52fab5f..8ba5a5e732d 100644 --- a/reactos/dll/opengl/mesa/main/enable.c +++ b/reactos/dll/opengl/mesa/main/enable.c @@ -54,8 +54,8 @@ client_state(struct gl_context *ctx, GLenum cap, GLboolean state) flag = VERT_BIT_NORMAL; break; case GL_COLOR_ARRAY: - var = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled; - flag = VERT_BIT_COLOR0; + var = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR].Enabled; + flag = VERT_BIT_COLOR; break; case GL_INDEX_ARRAY: var = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled; @@ -73,17 +73,6 @@ client_state(struct gl_context *ctx, GLenum cap, GLboolean state) var = &ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Enabled; flag = VERT_BIT_FOG; break; - case GL_SECONDARY_COLOR_ARRAY_EXT: - var = &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled; - flag = VERT_BIT_COLOR1; - break; - -#if FEATURE_point_size_array - case GL_POINT_SIZE_ARRAY_OES: - var = &ctx->Array.VertexAttrib[VERT_ATTRIB_POINT_SIZE].Enabled; - flag = VERT_BIT_POINT_SIZE; - break; -#endif default: goto invalid_enum_error; @@ -276,7 +265,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state) ctx->Light.ColorMaterialEnabled = state; if (state) { _mesa_update_color_material( ctx, - ctx->Current.Attrib[VERT_ATTRIB_COLOR0] ); + ctx->Current.Attrib[VERT_ATTRIB_COLOR] ); } break; case GL_CULL_FACE: @@ -882,7 +871,7 @@ _mesa_IsEnabled( GLenum cap ) case GL_NORMAL_ARRAY: return (ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL].Enabled != 0); case GL_COLOR_ARRAY: - return (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled != 0); + return (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR].Enabled != 0); case GL_INDEX_ARRAY: return (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled != 0); case GL_TEXTURE_COORD_ARRAY: @@ -893,9 +882,6 @@ _mesa_IsEnabled( GLenum cap ) case GL_FOG_COORDINATE_ARRAY_EXT: CHECK_EXTENSION(EXT_fog_coord); return (ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Enabled != 0); - case GL_SECONDARY_COLOR_ARRAY_EXT: - CHECK_EXTENSION(EXT_secondary_color); - return (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled != 0); #if FEATURE_point_size_array case GL_POINT_SIZE_ARRAY_OES: return (ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POINT_SIZE].Enabled != 0); diff --git a/reactos/dll/opengl/mesa/main/fog.c b/reactos/dll/opengl/mesa/main/fog.c index 4d80ff93b64..b2e141b60af 100644 --- a/reactos/dll/opengl/mesa/main/fog.c +++ b/reactos/dll/opengl/mesa/main/fog.c @@ -198,7 +198,6 @@ void _mesa_init_fog( struct gl_context * ctx ) ctx->Fog.Density = 1.0; ctx->Fog.Start = 0.0; ctx->Fog.End = 1.0; - ctx->Fog.ColorSumEnabled = GL_FALSE; ctx->Fog.FogCoordinateSource = GL_FRAGMENT_DEPTH_EXT; ctx->Fog._Scale = 1.0f; ctx->Fog.FogDistanceMode = GL_EYE_PLANE_ABSOLUTE_NV; diff --git a/reactos/dll/opengl/mesa/main/get.c b/reactos/dll/opengl/mesa/main/get.c index a1657394bf4..08d25ccfdc8 100644 --- a/reactos/dll/opengl/mesa/main/get.c +++ b/reactos/dll/opengl/mesa/main/get.c @@ -283,7 +283,7 @@ static const int extra_version_32[] = { EXTRA_VERSION_32, EXTRA_END }; static const struct value_desc values[] = { { GL_ALPHA_BITS, BUFFER_INT(Visual.alphaBits), extra_new_buffers }, { GL_BLEND, CONTEXT_BIT0(Color.BlendEnabled), NO_EXTRA }, - { GL_BLEND_SRC, CONTEXT_ENUM(Color.SrcRGB), NO_EXTRA }, + { GL_BLEND_SRC, CONTEXT_ENUM(Color.SrcFactor), NO_EXTRA }, { GL_BLUE_BITS, BUFFER_INT(Visual.blueBits), extra_new_buffers }, { GL_COLOR_CLEAR_VALUE, LOC_CUSTOM, TYPE_FLOATN_4, 0, NO_EXTRA }, { GL_COLOR_WRITEMASK, LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA }, @@ -345,15 +345,8 @@ static const struct value_desc values[] = { extra_ARB_texture_cube_map }, /* XXX: OES_texture_cube_map */ /* XXX: OES_blend_subtract */ - { GL_BLEND_SRC_RGB_EXT, CONTEXT_ENUM(Color.SrcRGB), NO_EXTRA }, - { GL_BLEND_DST_RGB_EXT, CONTEXT_ENUM(Color.DstRGB), NO_EXTRA }, - { GL_BLEND_SRC_ALPHA_EXT, CONTEXT_ENUM(Color.SrcA), NO_EXTRA }, - { GL_BLEND_DST_ALPHA_EXT, CONTEXT_ENUM(Color.DstA), NO_EXTRA }, - - /* GL_BLEND_EQUATION_RGB, which is what we're really after, is - * defined identically to GL_BLEND_EQUATION. */ - { GL_BLEND_EQUATION, CONTEXT_ENUM(Color.EquationRGB), NO_EXTRA }, - { GL_BLEND_EQUATION_ALPHA_EXT, CONTEXT_ENUM(Color.EquationA), NO_EXTRA }, + { GL_BLEND_SRC_RGB_EXT, CONTEXT_ENUM(Color.SrcFactor), NO_EXTRA }, + { GL_BLEND_DST_RGB_EXT, CONTEXT_ENUM(Color.DstFactor), NO_EXTRA }, /* GL_ARB_multisample */ { GL_SAMPLE_ALPHA_TO_COVERAGE_ARB, @@ -397,7 +390,7 @@ static const struct value_desc values[] = { { GL_ALPHA_TEST, CONTEXT_BOOL(Color.AlphaEnabled), NO_EXTRA }, { GL_ALPHA_TEST_FUNC, CONTEXT_ENUM(Color.AlphaFunc), NO_EXTRA }, { GL_ALPHA_TEST_REF, LOC_CUSTOM, TYPE_FLOATN, 0, NO_EXTRA }, - { GL_BLEND_DST, CONTEXT_ENUM(Color.DstRGB), NO_EXTRA }, + { GL_BLEND_DST, CONTEXT_ENUM(Color.DstFactor), NO_EXTRA }, { GL_CLIP_DISTANCE0, CONTEXT_BIT0(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, { GL_CLIP_DISTANCE1, CONTEXT_BIT1(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, { GL_CLIP_DISTANCE2, CONTEXT_BIT2(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, @@ -408,7 +401,7 @@ static const struct value_desc values[] = { { GL_CLIP_DISTANCE7, CONTEXT_BIT7(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, { GL_COLOR_MATERIAL, CONTEXT_BOOL(Light.ColorMaterialEnabled), NO_EXTRA }, { GL_CURRENT_COLOR, - CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR0][0], TYPE_FLOATN_4), + CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR][0], TYPE_FLOATN_4), extra_flush_current }, { GL_CURRENT_NORMAL, CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_NORMAL][0], TYPE_FLOATN_3), @@ -462,10 +455,10 @@ static const struct value_desc values[] = { { GL_NORMAL_ARRAY, ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_NORMAL].Enabled), NO_EXTRA }, { GL_NORMAL_ARRAY_TYPE, ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_NORMAL].Type), NO_EXTRA }, { GL_NORMAL_ARRAY_STRIDE, ARRAY_INT(VertexAttrib[VERT_ATTRIB_NORMAL].Stride), NO_EXTRA }, - { GL_COLOR_ARRAY, ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR0].Enabled), NO_EXTRA }, - { GL_COLOR_ARRAY_SIZE, ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR0].Size), NO_EXTRA }, - { GL_COLOR_ARRAY_TYPE, ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR0].Type), NO_EXTRA }, - { GL_COLOR_ARRAY_STRIDE, ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR0].Stride), NO_EXTRA }, + { GL_COLOR_ARRAY, ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR].Enabled), NO_EXTRA }, + { GL_COLOR_ARRAY_SIZE, ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR].Size), NO_EXTRA }, + { GL_COLOR_ARRAY_TYPE, ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR].Type), NO_EXTRA }, + { GL_COLOR_ARRAY_STRIDE, ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR].Stride), NO_EXTRA }, { GL_TEXTURE_COORD_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, offsetof(struct gl_client_array, Enabled), NO_EXTRA }, { GL_TEXTURE_COORD_ARRAY_SIZE, @@ -491,7 +484,7 @@ static const struct value_desc values[] = { { GL_NORMAL_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_NORMAL].BufferObj), NO_EXTRA }, { GL_COLOR_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_COLOR0].BufferObj), NO_EXTRA }, + offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_COLOR].BufferObj), NO_EXTRA }, { GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, NO_OFFSET, NO_EXTRA }, /* GL_OES_point_sprite */ @@ -529,8 +522,6 @@ static const struct value_desc values[] = { { GL_CURRENT_RASTER_DISTANCE, CONTEXT_FLOAT(Current.RasterDistance), NO_EXTRA }, { GL_CURRENT_RASTER_INDEX, CONST(1), NO_EXTRA }, { GL_CURRENT_RASTER_POSITION, CONTEXT_FLOAT4(Current.RasterPos[0]), NO_EXTRA }, - { GL_CURRENT_RASTER_SECONDARY_COLOR, - CONTEXT_FIELD(Current.RasterSecondaryColor[0], TYPE_FLOATN_4), NO_EXTRA }, { GL_CURRENT_RASTER_TEXTURE_COORDS, LOC_CUSTOM, TYPE_FLOAT_4, 0, extra_valid_texture_unit }, { GL_CURRENT_RASTER_POSITION_VALID, CONTEXT_BOOL(Current.RasterPosValid), NO_EXTRA }, @@ -550,7 +541,6 @@ static const struct value_desc values[] = { { GL_INDEX_OFFSET, CONTEXT_INT(Pixel.IndexOffset), NO_EXTRA }, { GL_INDEX_SHIFT, CONTEXT_INT(Pixel.IndexShift), NO_EXTRA }, { GL_INDEX_WRITEMASK, CONTEXT_INT(Color.IndexMask), NO_EXTRA }, - { GL_LIGHT_MODEL_COLOR_CONTROL, CONTEXT_ENUM(Light.Model.ColorControl), NO_EXTRA }, { GL_LIGHT_MODEL_LOCAL_VIEWER, CONTEXT_BOOL(Light.Model.LocalViewer), NO_EXTRA }, { GL_LINE_STIPPLE, CONTEXT_BOOL(Line.StippleFlag), NO_EXTRA }, { GL_LINE_STIPPLE_PATTERN, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, @@ -674,19 +664,6 @@ static const struct value_desc values[] = { CONTEXT_MATRIX_T(ProjectionMatrixStack.Top), NO_EXTRA }, { GL_TRANSPOSE_TEXTURE_MATRIX_ARB, CONTEXT_MATRIX_T(TextureMatrixStack), NO_EXTRA }, - /* GL_EXT_secondary_color */ - { GL_CURRENT_SECONDARY_COLOR_EXT, - CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR1][0], TYPE_FLOATN_4), - extra_EXT_secondary_color_flush_current }, - { GL_SECONDARY_COLOR_ARRAY_EXT, ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR1].Enabled), - extra_EXT_secondary_color }, - { GL_SECONDARY_COLOR_ARRAY_TYPE_EXT, ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR1].Type), - extra_EXT_secondary_color }, - { GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT, ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR1].Stride), - extra_EXT_secondary_color }, - { GL_SECONDARY_COLOR_ARRAY_SIZE_EXT, ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR1].Size), - extra_EXT_secondary_color }, - /* GL_EXT_fog_coord */ { GL_CURRENT_FOG_COORDINATE_EXT, CONTEXT_FLOAT(Current.Attrib[VERT_ATTRIB_FOG][0]), @@ -726,8 +703,6 @@ static const struct value_desc values[] = { offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_COLOR_INDEX].BufferObj), NO_EXTRA }, { GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_EDGEFLAG].BufferObj), NO_EXTRA }, - { GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, - offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_COLOR1].BufferObj), NO_EXTRA }, { GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_array_attrib, VertexAttrib[VERT_ATTRIB_FOG].BufferObj), NO_EXTRA }, @@ -1029,9 +1004,6 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu ((char *) &ctx->Array + d->offset); v->value_int = (*buffer_obj)->Name; break; - case GL_ARRAY_BUFFER_BINDING_ARB: - v->value_int = ctx->Array.ArrayBufferObj->Name; - break; case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB: v->value_int = ctx->Array.VertexAttrib[VERT_ATTRIB_TEX].BufferObj->Name; @@ -1049,9 +1021,6 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu v->value_float_4[2] = ctx->Color.ClearColor.f[2], 0.0F, 1.0F; v->value_float_4[3] = ctx->Color.ClearColor.f[3], 0.0F, 1.0F; break; - case GL_BLEND_COLOR_EXT: - COPY_4FV(v->value_float_4, ctx->Color.BlendColor); - break; case GL_ALPHA_TEST_REF: v->value_float = ctx->Color.AlphaRef; break; diff --git a/reactos/dll/opengl/mesa/main/get.h b/reactos/dll/opengl/mesa/main/get.h index 5e7a59c224c..accaf19e5bc 100644 --- a/reactos/dll/opengl/mesa/main/get.h +++ b/reactos/dll/opengl/mesa/main/get.h @@ -62,9 +62,6 @@ _mesa_GetPointerv( GLenum pname, GLvoid **params ); extern const GLubyte * GLAPIENTRY _mesa_GetString( GLenum name ); -extern const GLubyte * GLAPIENTRY -_mesa_GetStringi(GLenum name, GLuint index); - extern GLenum GLAPIENTRY _mesa_GetError( void ); diff --git a/reactos/dll/opengl/mesa/main/getstring.c b/reactos/dll/opengl/mesa/main/getstring.c index ae511d1e9b9..ef5c272fcad 100644 --- a/reactos/dll/opengl/mesa/main/getstring.c +++ b/reactos/dll/opengl/mesa/main/getstring.c @@ -72,33 +72,6 @@ _mesa_GetString( GLenum name ) } -/** - * GL3 - */ -const GLubyte * GLAPIENTRY -_mesa_GetStringi(GLenum name, GLuint index) -{ - GET_CURRENT_CONTEXT(ctx); - - if (!ctx) - return NULL; - - ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, NULL); - - switch (name) { - case GL_EXTENSIONS: - if (index >= _mesa_get_extension_count(ctx)) { - _mesa_error(ctx, GL_INVALID_VALUE, "glGetStringi(index=%u)", index); - return (const GLubyte *) 0; - } - return _mesa_get_enabled_extension(ctx, index); - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glGetString" ); - return (const GLubyte *) 0; - } -} - - /** * Return pointer-valued state, such as a vertex array pointer. @@ -131,10 +104,7 @@ _mesa_GetPointerv( GLenum pname, GLvoid **params ) *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_NORMAL].Ptr; break; case GL_COLOR_ARRAY_POINTER: - *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Ptr; - break; - case GL_SECONDARY_COLOR_ARRAY_POINTER_EXT: - *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Ptr; + *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR].Ptr; break; case GL_FOG_COORDINATE_ARRAY_POINTER_EXT: *params = (GLvoid *) ctx->Array.VertexAttrib[VERT_ATTRIB_FOG].Ptr; @@ -154,11 +124,6 @@ _mesa_GetPointerv( GLenum pname, GLvoid **params ) case GL_SELECTION_BUFFER_POINTER: *params = ctx->Select.Buffer; break; -#if FEATURE_point_size_array - case GL_POINT_SIZE_ARRAY_POINTER_OES: - *params = (GLvoid *) ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POINT_SIZE].Ptr; - break; -#endif default: _mesa_error( ctx, GL_INVALID_ENUM, "glGetPointerv" ); return; diff --git a/reactos/dll/opengl/mesa/main/imports.c b/reactos/dll/opengl/mesa/main/imports.c index e9d9209f2a1..e4f5b59f209 100644 --- a/reactos/dll/opengl/mesa/main/imports.c +++ b/reactos/dll/opengl/mesa/main/imports.c @@ -888,14 +888,14 @@ _mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, ... ) void _mesa_debug( const struct gl_context *ctx, const char *fmtString, ... ) { -#ifdef DEBUG +//#ifdef DEBUG char s[MAXSTRING]; va_list args; va_start(args, fmtString); vsnprintf(s, MAXSTRING, fmtString, args); va_end(args); output_if_debug("Mesa", s, GL_FALSE); -#endif /* DEBUG */ +//#endif /* DEBUG */ (void) ctx; (void) fmtString; } diff --git a/reactos/dll/opengl/mesa/main/light.c b/reactos/dll/opengl/mesa/main/light.c index 26a9d5296a6..beaa8aa9979 100644 --- a/reactos/dll/opengl/mesa/main/light.c +++ b/reactos/dll/opengl/mesa/main/light.c @@ -418,7 +418,6 @@ _mesa_GetLightiv( GLenum light, GLenum pname, GLint *params ) void GLAPIENTRY _mesa_LightModelfv( GLenum pname, const GLfloat *params ) { - GLenum newenum; GLboolean newbool; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -448,21 +447,6 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params ) else ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE; break; - case GL_LIGHT_MODEL_COLOR_CONTROL: - if (params[0] == (GLfloat) GL_SINGLE_COLOR) - newenum = GL_SINGLE_COLOR; - else if (params[0] == (GLfloat) GL_SEPARATE_SPECULAR_COLOR) - newenum = GL_SEPARATE_SPECULAR_COLOR; - else { - _mesa_error( ctx, GL_INVALID_ENUM, "glLightModel(param=0x0%x)", - (GLint) params[0] ); - return; - } - if (ctx->Light.Model.ColorControl == newenum) - return; - FLUSH_VERTICES(ctx, _NEW_LIGHT); - ctx->Light.Model.ColorControl = newenum; - break; default: _mesa_error( ctx, GL_INVALID_ENUM, "glLightModel(pname=0x%x)", pname ); break; @@ -716,7 +700,7 @@ _mesa_ColorMaterial( GLenum face, GLenum mode ) if (ctx->Light.ColorMaterialEnabled) { FLUSH_CURRENT( ctx, 0 ); - _mesa_update_color_material(ctx,ctx->Current.Attrib[VERT_ATTRIB_COLOR0]); + _mesa_update_color_material(ctx,ctx->Current.Attrib[VERT_ATTRIB_COLOR]); } if (ctx->Driver.ColorMaterial) @@ -1019,7 +1003,6 @@ _mesa_update_lighting( struct gl_context *ctx ) ctx->Light._NeedVertices = ((ctx->Light._Flags & (LIGHT_POSITIONAL|LIGHT_SPOT)) || - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR || ctx->Light.Model.LocalViewer); ctx->Light._NeedEyeCoords = ((ctx->Light._Flags & LIGHT_POSITIONAL) || @@ -1285,7 +1268,6 @@ init_lightmodel( struct gl_lightmodel *lm ) ASSIGN_4V( lm->Ambient, 0.2F, 0.2F, 0.2F, 1.0F ); lm->LocalViewer = GL_FALSE; lm->TwoSide = GL_FALSE; - lm->ColorControl = GL_SINGLE_COLOR; } diff --git a/reactos/dll/opengl/mesa/main/mtypes.h b/reactos/dll/opengl/mesa/main/mtypes.h index 97e8fe240ee..c306a0cddd7 100644 --- a/reactos/dll/opengl/mesa/main/mtypes.h +++ b/reactos/dll/opengl/mesa/main/mtypes.h @@ -96,14 +96,13 @@ typedef enum VERT_ATTRIB_POS = 0, VERT_ATTRIB_WEIGHT = 1, VERT_ATTRIB_NORMAL = 2, - VERT_ATTRIB_COLOR0 = 3, - VERT_ATTRIB_COLOR1 = 4, - VERT_ATTRIB_FOG = 5, - VERT_ATTRIB_COLOR_INDEX = 6, - VERT_ATTRIB_EDGEFLAG = 7, - VERT_ATTRIB_TEX = 8, - VERT_ATTRIB_POINT_SIZE = 9, - VERT_ATTRIB_MAX = 10 + VERT_ATTRIB_COLOR = 3, + VERT_ATTRIB_FOG = 4, + VERT_ATTRIB_COLOR_INDEX = 5, + VERT_ATTRIB_EDGEFLAG = 6, + VERT_ATTRIB_TEX = 7, + VERT_ATTRIB_POINT_SIZE = 8, + VERT_ATTRIB_MAX = 9 } gl_vert_attrib; /** @@ -121,8 +120,7 @@ typedef enum #define VERT_BIT_POS BITFIELD64_BIT(VERT_ATTRIB_POS) #define VERT_BIT_WEIGHT BITFIELD64_BIT(VERT_ATTRIB_WEIGHT) #define VERT_BIT_NORMAL BITFIELD64_BIT(VERT_ATTRIB_NORMAL) -#define VERT_BIT_COLOR0 BITFIELD64_BIT(VERT_ATTRIB_COLOR0) -#define VERT_BIT_COLOR1 BITFIELD64_BIT(VERT_ATTRIB_COLOR1) +#define VERT_BIT_COLOR BITFIELD64_BIT(VERT_ATTRIB_COLOR) #define VERT_BIT_FOG BITFIELD64_BIT(VERT_ATTRIB_FOG) #define VERT_BIT_COLOR_INDEX BITFIELD64_BIT(VERT_ATTRIB_COLOR_INDEX) #define VERT_BIT_EDGEFLAG BITFIELD64_BIT(VERT_ATTRIB_EDGEFLAG) @@ -143,20 +141,18 @@ typedef enum typedef enum { FRAG_ATTRIB_WPOS = 0, - FRAG_ATTRIB_COL0 = 1, - FRAG_ATTRIB_COL1 = 2, - FRAG_ATTRIB_FOGC = 3, - FRAG_ATTRIB_TEX = 4, - FRAG_ATTRIB_FACE = 5, /**< front/back face */ - FRAG_ATTRIB_PNTC = 6, /**< sprite/point coord */ - FRAG_ATTRIB_CLIP_DIST0 = 7, - FRAG_ATTRIB_CLIP_DIST1 = 8, - FRAG_ATTRIB_MAX = 9 + FRAG_ATTRIB_COL = 1, + FRAG_ATTRIB_FOGC = 2, + FRAG_ATTRIB_TEX = 3, + FRAG_ATTRIB_FACE = 4, /**< front/back face */ + FRAG_ATTRIB_PNTC = 5, /**< sprite/point coord */ + FRAG_ATTRIB_CLIP_DIST0 = 6, + FRAG_ATTRIB_CLIP_DIST1 = 7, + FRAG_ATTRIB_MAX = 8 } gl_frag_attrib; -#define FRAG_BIT_COL0 (1 << FRAG_ATTRIB_COL0) -#define FRAG_BIT_COL1 (1 << FRAG_ATTRIB_COL1) +#define FRAG_BIT_COL (1 << FRAG_ATTRIB_COL) #define FRAG_BIT_FOGC (1 << FRAG_ATTRIB_FOGC) #define FRAG_BIT_TEX (1 << FRAG_ATTRIB_TEX) @@ -386,8 +382,6 @@ struct gl_lightmodel GLfloat Ambient[4]; /**< ambient color */ GLboolean LocalViewer; /**< Local (or infinite) view point? */ GLboolean TwoSide; /**< Two (or one) sided lighting? */ - GLenum ColorControl; /**< either GL_SINGLE_COLOR - * or GL_SEPARATE_SPECULAR_COLOR */ }; @@ -452,14 +446,9 @@ struct gl_colorbuffer_attrib * control, only on the fixed-pointness of the render target. * The query does however depend on fragment color clamping. */ - GLfloat BlendColor[4]; /**< Blending color */ - GLenum SrcRGB; /**< RGB blend source term */ - GLenum DstRGB; /**< RGB blend dest term */ - GLenum SrcA; /**< Alpha blend source term */ - GLenum DstA; /**< Alpha blend dest term */ - GLenum EquationRGB; /**< GL_ADD, GL_SUBTRACT, etc. */ - GLenum EquationA; /**< GL_ADD, GL_SUBTRACT, etc. */ + GLenum SrcFactor; /**< RGB blend source term */ + GLenum DstFactor; /**< RGB blend dest term */ /*@}*/ /** @@ -496,7 +485,6 @@ struct gl_current_attrib GLfloat RasterPos[4]; GLfloat RasterDistance; GLfloat RasterColor[4]; - GLfloat RasterSecondaryColor[4]; GLfloat RasterTexCoords[4]; GLboolean RasterPosValid; /*@}*/ @@ -572,7 +560,6 @@ struct gl_fog_attrib GLfloat End; /**< End distance in eye coords */ GLfloat Index; /**< Fog index */ GLenum Mode; /**< Fog mode */ - GLboolean ColorSumEnabled; GLenum FogCoordinateSource; /**< GL_EXT_fog_coord */ GLfloat _Scale; /**< (End == Start) ? 1.0 : 1.0 / (End - Start) */ GLenum FogDistanceMode; /**< GL_NV_fog_distance */ @@ -1214,9 +1201,6 @@ struct gl_array_attrib GLbitfield64 NewState; /**< mask of VERT_BIT_* values */ GLboolean RebindArrays; /**< whether the VBO module should rebind arrays */ - - /* GL_ARB_vertex_buffer_object */ - struct gl_buffer_object *ArrayBufferObj; }; @@ -1470,8 +1454,6 @@ struct gl_constants GLfloat MinLineWidthAA, MaxLineWidthAA; /**< antialiased */ GLfloat LineWidthGranularity; - GLuint MaxColorTableSize; - GLuint MaxClipPlanes; GLuint MaxLights; GLfloat MaxShininess; /**< GL_NV_light_max_exponent */ @@ -1645,17 +1627,16 @@ struct gl_matrix_stack */ /*@{*/ #define DD_FLATSHADE 0x1 -#define DD_SEPARATE_SPECULAR 0x2 -#define DD_TRI_CULL_FRONT_BACK 0x4 /* special case on some hw */ -#define DD_TRI_LIGHT_TWOSIDE 0x8 -#define DD_TRI_UNFILLED 0x10 -#define DD_TRI_SMOOTH 0x20 -#define DD_TRI_STIPPLE 0x40 -#define DD_TRI_OFFSET 0x80 -#define DD_LINE_SMOOTH 0x100 -#define DD_LINE_STIPPLE 0x200 -#define DD_POINT_SMOOTH 0x400 -#define DD_POINT_ATTEN 0x800 +#define DD_TRI_CULL_FRONT_BACK 0x2 /* special case on some hw */ +#define DD_TRI_LIGHT_TWOSIDE 0x4 +#define DD_TRI_UNFILLED 0x8 +#define DD_TRI_SMOOTH 0x10 +#define DD_TRI_STIPPLE 0x20 +#define DD_TRI_OFFSET 0x40 +#define DD_LINE_SMOOTH 0x80 +#define DD_LINE_STIPPLE 0x100 +#define DD_POINT_SMOOTH 0x200 +#define DD_POINT_ATTEN 0x400 /*@}*/ diff --git a/reactos/dll/opengl/mesa/main/precomp.h b/reactos/dll/opengl/mesa/main/precomp.h index 3a3c19054d5..168125d7c02 100644 --- a/reactos/dll/opengl/mesa/main/precomp.h +++ b/reactos/dll/opengl/mesa/main/precomp.h @@ -13,10 +13,8 @@ #include "clear.h" #include "clip.h" #include "colormac.h" -#include "colortab.h" #include "compiler.h" #include "context.h" -#include "convolve.h" #include "cpuinfo.h" #include "depth.h" #include "dispatch.h" diff --git a/reactos/dll/opengl/mesa/main/rastpos.c b/reactos/dll/opengl/mesa/main/rastpos.c index 3d47a6a45a6..a54c0b5622e 100644 --- a/reactos/dll/opengl/mesa/main/rastpos.c +++ b/reactos/dll/opengl/mesa/main/rastpos.c @@ -240,21 +240,13 @@ window_pos3f(GLfloat x, GLfloat y, GLfloat z) /* raster color = current color or index */ ctx->Current.RasterColor[0] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][0], 0.0F, 1.0F); + = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR][0], 0.0F, 1.0F); ctx->Current.RasterColor[1] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][1], 0.0F, 1.0F); + = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR][1], 0.0F, 1.0F); ctx->Current.RasterColor[2] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][2], 0.0F, 1.0F); + = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR][2], 0.0F, 1.0F); ctx->Current.RasterColor[3] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][3], 0.0F, 1.0F); - ctx->Current.RasterSecondaryColor[0] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][0], 0.0F, 1.0F); - ctx->Current.RasterSecondaryColor[1] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][1], 0.0F, 1.0F); - ctx->Current.RasterSecondaryColor[2] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][2], 0.0F, 1.0F); - ctx->Current.RasterSecondaryColor[3] - = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][3], 0.0F, 1.0F); + = CLAMP(ctx->Current.Attrib[VERT_ATTRIB_COLOR][3], 0.0F, 1.0F); /* raster texcoord = current texcoord */ COPY_4FV( ctx->Current.RasterTexCoords, ctx->Current.Attrib[VERT_ATTRIB_TEX] ); @@ -539,7 +531,6 @@ void _mesa_init_rastpos( struct gl_context * ctx ) ASSIGN_4V( ctx->Current.RasterPos, 0.0, 0.0, 0.0, 1.0 ); ctx->Current.RasterDistance = 0.0; ASSIGN_4V( ctx->Current.RasterColor, 1.0, 1.0, 1.0, 1.0 ); - ASSIGN_4V( ctx->Current.RasterSecondaryColor, 0.0, 0.0, 0.0, 1.0 ); ASSIGN_4V( ctx->Current.RasterTexCoords, 0.0, 0.0, 0.0, 1.0 ); ctx->Current.RasterPosValid = GL_TRUE; } diff --git a/reactos/dll/opengl/mesa/main/state.c b/reactos/dll/opengl/mesa/main/state.c index 62221e34a73..428c8dafaaf 100644 --- a/reactos/dll/opengl/mesa/main/state.c +++ b/reactos/dll/opengl/mesa/main/state.c @@ -32,15 +32,6 @@ #include -static void -update_separate_specular(struct gl_context *ctx) -{ - if (_mesa_need_secondary_color(ctx)) - ctx->_TriangleCaps |= DD_SEPARATE_SPECULAR; - else - ctx->_TriangleCaps &= ~DD_SEPARATE_SPECULAR; -} - /** * Helper for update_arrays(). @@ -79,13 +70,8 @@ update_arrays( struct gl_context *ctx ) } /* 3 */ - if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) { - min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR0]); - } - - /* 4 */ - if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) { - min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR1]); + if (ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR].Enabled) { + min = update_min(min, &ctx->Array.VertexAttrib[VERT_ATTRIB_COLOR]); } /* 5 */ @@ -262,9 +248,6 @@ _mesa_update_state_locked( struct gl_context *ctx ) if (new_state & _NEW_PIXEL) _mesa_update_pixel( ctx, new_state ); - if (new_state & _DD_NEW_SEPARATE_SPECULAR) - update_separate_specular( ctx ); - if (new_state & (_NEW_BUFFERS | _NEW_VIEWPORT)) update_viewport_matrix(ctx); diff --git a/reactos/dll/opengl/mesa/main/state.h b/reactos/dll/opengl/mesa/main/state.h index 5268effb31a..3793cab12f2 100644 --- a/reactos/dll/opengl/mesa/main/state.h +++ b/reactos/dll/opengl/mesa/main/state.h @@ -37,21 +37,4 @@ _mesa_update_state(struct gl_context *ctx); extern void _mesa_update_state_locked(struct gl_context *ctx); - -/** - * Is the secondary color needed? - */ -static inline GLboolean -_mesa_need_secondary_color(const struct gl_context *ctx) -{ - if (ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) - return GL_TRUE; - - if (ctx->Fog.ColorSumEnabled) - return GL_TRUE; - - return GL_FALSE; -} - #endif diff --git a/reactos/dll/opengl/mesa/main/varray.c b/reactos/dll/opengl/mesa/main/varray.c index d570e865ef5..ab2a870f61d 100644 --- a/reactos/dll/opengl/mesa/main/varray.c +++ b/reactos/dll/opengl/mesa/main/varray.c @@ -118,14 +118,6 @@ update_array(struct gl_context *ctx, return; } - if (!_mesa_is_bufferobj(ctx->Array.ArrayBufferObj)) { - /* GL_ARB_vertex_array_object requires that all arrays reside in VBOs. - * Generate GL_INVALID_OPERATION if that's not true. - */ - _mesa_error(ctx, GL_INVALID_OPERATION, "%s(non-VBO array)", func); - return; - } - elementSize = _mesa_sizeof_type(type) * size; array = &ctx->Array.VertexAttrib[attrib]; @@ -138,9 +130,6 @@ update_array(struct gl_context *ctx, array->Ptr = (const GLubyte *) ptr; array->_ElementSize = elementSize; - _mesa_reference_buffer_object(ctx, &array->BufferObj, - ctx->Array.ArrayBufferObj); - ctx->NewState |= _NEW_ARRAY; ctx->Array.NewState |= VERT_BIT(attrib); } @@ -184,7 +173,7 @@ _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - update_array(ctx, "glColorPointer", VERT_ATTRIB_COLOR0, + update_array(ctx, "glColorPointer", VERT_ATTRIB_COLOR, legalTypes, 3, 4, size, type, stride, GL_TRUE, GL_FALSE, ptr); } @@ -217,23 +206,6 @@ _mesa_IndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr) } -void GLAPIENTRY -_mesa_SecondaryColorPointerEXT(GLint size, GLenum type, - GLsizei stride, const GLvoid *ptr) -{ - const GLbitfield legalTypes = (BYTE_BIT | UNSIGNED_BYTE_BIT | - SHORT_BIT | UNSIGNED_SHORT_BIT | - INT_BIT | UNSIGNED_INT_BIT | - HALF_BIT | FLOAT_BIT | DOUBLE_BIT); - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - - update_array(ctx, "glSecondaryColorPointer", VERT_ATTRIB_COLOR1, - legalTypes, 3, 4, - size, type, stride, GL_TRUE, GL_FALSE, ptr); -} - - void GLAPIENTRY _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) @@ -644,9 +616,6 @@ _mesa_init_varray(struct gl_context *ctx, struct gl_array_attrib *array) case VERT_ATTRIB_NORMAL: init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_NORMAL], 3, GL_FLOAT); break; - case VERT_ATTRIB_COLOR1: - init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_COLOR1], 3, GL_FLOAT); - break; case VERT_ATTRIB_FOG: init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_FOG], 1, GL_FLOAT); break; @@ -656,11 +625,6 @@ _mesa_init_varray(struct gl_context *ctx, struct gl_array_attrib *array) case VERT_ATTRIB_EDGEFLAG: init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_EDGEFLAG], 1, GL_BOOL); break; - #if FEATURE_point_size_array - case VERT_ATTRIB_POINT_SIZE: - init_array(ctx, &array->VertexAttrib[VERT_ATTRIB_POINT_SIZE], 1, GL_FLOAT); - break; - #endif default: init_array(ctx, &array->VertexAttrib[i], 4, GL_FLOAT); break; diff --git a/reactos/dll/opengl/mesa/main/varray.h b/reactos/dll/opengl/mesa/main/varray.h index 8d0898261b7..0a984bcec88 100644 --- a/reactos/dll/opengl/mesa/main/varray.h +++ b/reactos/dll/opengl/mesa/main/varray.h @@ -132,11 +132,6 @@ extern void GLAPIENTRY _mesa_FogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *ptr); -extern void GLAPIENTRY -_mesa_SecondaryColorPointerEXT(GLint size, GLenum type, - GLsizei stride, const GLvoid *ptr); - - extern void GLAPIENTRY _mesa_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer); @@ -165,10 +160,6 @@ extern void GLAPIENTRY _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); -extern void GLAPIENTRY -_mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, - GLenum type, const GLvoid *indices); - extern void _mesa_copy_client_array(struct gl_context *ctx, diff --git a/reactos/dll/opengl/mesa/main/vtxfmt.c b/reactos/dll/opengl/mesa/main/vtxfmt.c index 8839c6a4071..877a4714f6e 100644 --- a/reactos/dll/opengl/mesa/main/vtxfmt.c +++ b/reactos/dll/opengl/mesa/main/vtxfmt.c @@ -54,8 +54,6 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_Materialfv(tab, vfmt->Materialfv); SET_Normal3f(tab, vfmt->Normal3f); SET_Normal3fv(tab, vfmt->Normal3fv); - SET_SecondaryColor3fEXT(tab, vfmt->SecondaryColor3fEXT); - SET_SecondaryColor3fvEXT(tab, vfmt->SecondaryColor3fvEXT); SET_TexCoord1f(tab, vfmt->TexCoord1f); SET_TexCoord1fv(tab, vfmt->TexCoord1fv); SET_TexCoord2f(tab, vfmt->TexCoord2f); @@ -80,7 +78,6 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_DrawArrays(tab, vfmt->DrawArrays); SET_DrawElements(tab, vfmt->DrawElements); - SET_DrawRangeElements(tab, vfmt->DrawRangeElements); /* GL_NV_vertex_program */ SET_VertexAttrib1fNV(tab, vfmt->VertexAttrib1fNV); diff --git a/reactos/dll/opengl/mesa/swrast/s_aaline.c b/reactos/dll/opengl/mesa/swrast/s_aaline.c index 233fa78af29..05085adccbb 100644 --- a/reactos/dll/opengl/mesa/swrast/s_aaline.c +++ b/reactos/dll/opengl/mesa/swrast/s_aaline.c @@ -470,9 +470,6 @@ _swrast_choose_aa_line_function(struct gl_context *ctx) ASSERT(ctx->Line.SmoothFlag); if (ctx->Texture._EnabledCoord - || (ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) - || ctx->Fog.ColorSumEnabled || swrast->_FogEnabled) { swrast->Line = aa_general_rgba_line; } diff --git a/reactos/dll/opengl/mesa/swrast/s_aatriangle.c b/reactos/dll/opengl/mesa/swrast/s_aatriangle.c index 269531ac4e9..ad27fa62c79 100644 --- a/reactos/dll/opengl/mesa/swrast/s_aatriangle.c +++ b/reactos/dll/opengl/mesa/swrast/s_aatriangle.c @@ -289,8 +289,7 @@ _swrast_set_aa_triangle_function(struct gl_context *ctx) ASSERT(ctx->Polygon.SmoothFlag); if (ctx->Texture._EnabledCoord - || swrast->_FogEnabled - || _mesa_need_secondary_color(ctx)) { + || swrast->_FogEnabled) { SWRAST_CONTEXT(ctx)->Triangle = general_aa_tri; } else { diff --git a/reactos/dll/opengl/mesa/swrast/s_alpha.c b/reactos/dll/opengl/mesa/swrast/s_alpha.c index f3f882e92b5..32f66b9cdd6 100644 --- a/reactos/dll/opengl/mesa/swrast/s_alpha.c +++ b/reactos/dll/opengl/mesa/swrast/s_alpha.c @@ -116,7 +116,7 @@ _swrast_alpha_test(const struct gl_context *ctx, SWspan *span) ALPHA_TEST(rgba[i][ACOMP], ;); } else { - GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL]; const GLfloat ref = ctx->Color.AlphaRef; ALPHA_TEST(rgba[i][ACOMP], ;); } diff --git a/reactos/dll/opengl/mesa/swrast/s_blend.c b/reactos/dll/opengl/mesa/swrast/s_blend.c index 2f5e319cb71..fa73e28e568 100644 --- a/reactos/dll/opengl/mesa/swrast/s_blend.c +++ b/reactos/dll/opengl/mesa/swrast/s_blend.c @@ -292,113 +292,6 @@ blend_add(struct gl_context *ctx, GLuint n, const GLubyte mask[], -/** - * Blend min function. - * Any chanType ok. - */ -static void _BLENDAPI -blend_min(struct gl_context *ctx, GLuint n, const GLubyte mask[], - GLvoid *src, const GLvoid *dst, GLenum chanType) -{ - GLuint i; - ASSERT(ctx->Color.EquationRGB == GL_MIN); - ASSERT(ctx->Color.EquationA == GL_MIN); - (void) ctx; - - if (chanType == GL_UNSIGNED_BYTE) { - GLubyte (*rgba)[4] = (GLubyte (*)[4]) src; - const GLubyte (*dest)[4] = (const GLubyte (*)[4]) dst; - for (i=0;iColor.EquationRGB == GL_MAX); - ASSERT(ctx->Color.EquationA == GL_MAX); - (void) ctx; - - if (chanType == GL_UNSIGNED_BYTE) { - GLubyte (*rgba)[4] = (GLubyte (*)[4]) src; - const GLubyte (*dest)[4] = (const GLubyte (*)[4]) dst; - for (i=0;iColor.SrcRGB) { + switch (ctx->Color.SrcFactor) { case GL_ZERO: - sR = sG = sB = 0.0F; + sR = sG = sB = sA = 0.0F; break; case GL_ONE: - sR = sG = sB = 1.0F; + sR = sG = sB = sA = 1.0F; break; case GL_DST_COLOR: sR = Rd; sG = Gd; sB = Bd; + sA = Ad; break; case GL_ONE_MINUS_DST_COLOR: sR = 1.0F - Rd; sG = 1.0F - Gd; sB = 1.0F - Bd; + sA = 1.0f - Ad; break; case GL_SRC_ALPHA: - sR = sG = sB = As; + sR = sG = sB = sA = As; break; case GL_ONE_MINUS_SRC_ALPHA: - sR = sG = sB = 1.0F - As; + sR = sG = sB = sA = 1.0F - As; break; case GL_DST_ALPHA: - sR = sG = sB = Ad; + sR = sG = sB = sA = Ad; break; case GL_ONE_MINUS_DST_ALPHA: - sR = sG = sB = 1.0F - Ad; + sR = sG = sB = sA = 1.0F - Ad; break; case GL_SRC_ALPHA_SATURATE: if (As < 1.0F - Ad) { - sR = sG = sB = As; + sR = sG = sB = sA = As; } else { - sR = sG = sB = 1.0F - Ad; + sR = sG = sB = sA = 1.0F - Ad; } break; - case GL_CONSTANT_COLOR: - sR = ctx->Color.BlendColor[0]; - sG = ctx->Color.BlendColor[1]; - sB = ctx->Color.BlendColor[2]; - break; - case GL_ONE_MINUS_CONSTANT_COLOR: - sR = 1.0F - ctx->Color.BlendColor[0]; - sG = 1.0F - ctx->Color.BlendColor[1]; - sB = 1.0F - ctx->Color.BlendColor[2]; - break; - case GL_CONSTANT_ALPHA: - sR = sG = sB = ctx->Color.BlendColor[3]; - break; - case GL_ONE_MINUS_CONSTANT_ALPHA: - sR = sG = sB = 1.0F - ctx->Color.BlendColor[3]; - break; case GL_SRC_COLOR: sR = Rs; sG = Gs; sB = Bs; + sA = As; break; case GL_ONE_MINUS_SRC_COLOR: sR = 1.0F - Rs; sG = 1.0F - Gs; sB = 1.0F - Bs; + sA = 1.0F - As; break; default: /* this should never happen */ @@ -557,234 +438,62 @@ blend_general_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], return; } - /* Source Alpha factor */ - switch (ctx->Color.SrcA) { + /* Dest factor */ + switch (ctx->Color.DstFactor) { case GL_ZERO: - sA = 0.0F; + dR = dG = dB = dA = 0.0F; break; case GL_ONE: - sA = 1.0F; - break; - case GL_DST_COLOR: - sA = Ad; - break; - case GL_ONE_MINUS_DST_COLOR: - sA = 1.0F - Ad; - break; - case GL_SRC_ALPHA: - sA = As; - break; - case GL_ONE_MINUS_SRC_ALPHA: - sA = 1.0F - As; - break; - case GL_DST_ALPHA: - sA = Ad; - break; - case GL_ONE_MINUS_DST_ALPHA: - sA = 1.0F - Ad; - break; - case GL_SRC_ALPHA_SATURATE: - sA = 1.0; - break; - case GL_CONSTANT_COLOR: - sA = ctx->Color.BlendColor[3]; - break; - case GL_ONE_MINUS_CONSTANT_COLOR: - sA = 1.0F - ctx->Color.BlendColor[3]; - break; - case GL_CONSTANT_ALPHA: - sA = ctx->Color.BlendColor[3]; - break; - case GL_ONE_MINUS_CONSTANT_ALPHA: - sA = 1.0F - ctx->Color.BlendColor[3]; - break; - case GL_SRC_COLOR: - sA = As; - break; - case GL_ONE_MINUS_SRC_COLOR: - sA = 1.0F - As; - break; - default: - /* this should never happen */ - sA = 0.0F; - _mesa_problem(ctx, "Bad blend source A factor in blend_general_float"); - return; - } - - /* Dest RGB factor */ - switch (ctx->Color.DstRGB) { - case GL_ZERO: - dR = dG = dB = 0.0F; - break; - case GL_ONE: - dR = dG = dB = 1.0F; + dR = dG = dB = dA = 1.0F; break; case GL_SRC_COLOR: dR = Rs; dG = Gs; dB = Bs; + dA = As; break; case GL_ONE_MINUS_SRC_COLOR: dR = 1.0F - Rs; dG = 1.0F - Gs; dB = 1.0F - Bs; + dA = 1.0F - As; break; case GL_SRC_ALPHA: - dR = dG = dB = As; + dR = dG = dB = dA = As; break; case GL_ONE_MINUS_SRC_ALPHA: - dR = dG = dB = 1.0F - As; + dR = dG = dB = dA = 1.0F - As; break; case GL_DST_ALPHA: - dR = dG = dB = Ad; + dR = dG = dB = dA = Ad; break; case GL_ONE_MINUS_DST_ALPHA: - dR = dG = dB = 1.0F - Ad; - break; - case GL_CONSTANT_COLOR: - dR = ctx->Color.BlendColor[0]; - dG = ctx->Color.BlendColor[1]; - dB = ctx->Color.BlendColor[2]; - break; - case GL_ONE_MINUS_CONSTANT_COLOR: - dR = 1.0F - ctx->Color.BlendColor[0]; - dG = 1.0F - ctx->Color.BlendColor[1]; - dB = 1.0F - ctx->Color.BlendColor[2]; - break; - case GL_CONSTANT_ALPHA: - dR = dG = dB = ctx->Color.BlendColor[3]; - break; - case GL_ONE_MINUS_CONSTANT_ALPHA: - dR = dG = dB = 1.0F - ctx->Color.BlendColor[3]; + dR = dG = dB = dA = 1.0F - Ad; break; case GL_DST_COLOR: dR = Rd; dG = Gd; dB = Bd; + dA = Ad; break; case GL_ONE_MINUS_DST_COLOR: dR = 1.0F - Rd; dG = 1.0F - Gd; dB = 1.0F - Bd; - break; - default: - /* this should never happen */ - dR = dG = dB = 0.0F; - _mesa_problem(ctx, "Bad blend dest RGB factor in blend_general_float"); - return; - } - - /* Dest Alpha factor */ - switch (ctx->Color.DstA) { - case GL_ZERO: - dA = 0.0F; - break; - case GL_ONE: - dA = 1.0F; - break; - case GL_SRC_COLOR: - dA = As; - break; - case GL_ONE_MINUS_SRC_COLOR: - dA = 1.0F - As; - break; - case GL_SRC_ALPHA: - dA = As; - break; - case GL_ONE_MINUS_SRC_ALPHA: - dA = 1.0F - As; - break; - case GL_DST_ALPHA: - dA = Ad; - break; - case GL_ONE_MINUS_DST_ALPHA: - dA = 1.0F - Ad; - break; - case GL_CONSTANT_COLOR: - dA = ctx->Color.BlendColor[3]; - break; - case GL_ONE_MINUS_CONSTANT_COLOR: - dA = 1.0F - ctx->Color.BlendColor[3]; - break; - case GL_CONSTANT_ALPHA: - dA = ctx->Color.BlendColor[3]; - break; - case GL_ONE_MINUS_CONSTANT_ALPHA: - dA = 1.0F - ctx->Color.BlendColor[3]; - break; - case GL_DST_COLOR: - dA = Ad; - break; - case GL_ONE_MINUS_DST_COLOR: dA = 1.0F - Ad; break; default: /* this should never happen */ - dA = 0.0F; - _mesa_problem(ctx, "Bad blend dest A factor in blend_general_float"); + dR = dG = dB = dA = 0.0F; + _mesa_problem(ctx, "Bad blend dest factor in blend_general_float"); return; } - /* compute the blended RGB */ - switch (ctx->Color.EquationRGB) { - case GL_FUNC_ADD: - r = Rs * sR + Rd * dR; - g = Gs * sG + Gd * dG; - b = Bs * sB + Bd * dB; - a = As * sA + Ad * dA; - break; - case GL_FUNC_SUBTRACT: - r = Rs * sR - Rd * dR; - g = Gs * sG - Gd * dG; - b = Bs * sB - Bd * dB; - a = As * sA - Ad * dA; - break; - case GL_FUNC_REVERSE_SUBTRACT: - r = Rd * dR - Rs * sR; - g = Gd * dG - Gs * sG; - b = Bd * dB - Bs * sB; - a = Ad * dA - As * sA; - break; - case GL_MIN: - r = MIN2( Rd, Rs ); - g = MIN2( Gd, Gs ); - b = MIN2( Bd, Bs ); - break; - case GL_MAX: - r = MAX2( Rd, Rs ); - g = MAX2( Gd, Gs ); - b = MAX2( Bd, Bs ); - break; - default: - /* should never get here */ - r = g = b = 0.0F; /* silence uninitialized var warning */ - _mesa_problem(ctx, "unexpected BlendEquation in blend_general()"); - return; - } - - /* compute the blended alpha */ - switch (ctx->Color.EquationA) { - case GL_FUNC_ADD: - a = As * sA + Ad * dA; - break; - case GL_FUNC_SUBTRACT: - a = As * sA - Ad * dA; - break; - case GL_FUNC_REVERSE_SUBTRACT: - a = Ad * dA - As * sA; - break; - case GL_MIN: - a = MIN2( Ad, As ); - break; - case GL_MAX: - a = MAX2( Ad, As ); - break; - default: - /* should never get here */ - a = 0.0F; /* silence uninitialized var warning */ - _mesa_problem(ctx, "unexpected BlendEquation in blend_general()"); - return; - } + /* compute the blended RGBA */ + r = Rs * sR + Rd * dR; + g = Gs * sG + Gd * dG; + b = Bs * sB + Bd * dB; + a = As * sA + Ad * dA; /* final clamping */ #if 0 @@ -891,40 +600,10 @@ void _swrast_choose_blend_func(struct gl_context *ctx, GLenum chanType) { SWcontext *swrast = SWRAST_CONTEXT(ctx); - const GLenum eq = ctx->Color.EquationRGB; - const GLenum srcRGB = ctx->Color.SrcRGB; - const GLenum dstRGB = ctx->Color.DstRGB; - const GLenum srcA = ctx->Color.SrcA; - const GLenum dstA = ctx->Color.DstA; + const GLenum srcFactor = ctx->Color.SrcFactor; + const GLenum dstFactor = ctx->Color.DstFactor; - if (ctx->Color.EquationRGB != ctx->Color.EquationA) { - swrast->BlendFunc = blend_general; - } - else if (eq == GL_MIN) { - /* Note: GL_MIN ignores the blending weight factors */ -#if defined(USE_MMX_ASM) - if (cpu_has_mmx && chanType == GL_UNSIGNED_BYTE) { - swrast->BlendFunc = _mesa_mmx_blend_min; - } - else -#endif - swrast->BlendFunc = blend_min; - } - else if (eq == GL_MAX) { - /* Note: GL_MAX ignores the blending weight factors */ -#if defined(USE_MMX_ASM) - if (cpu_has_mmx && chanType == GL_UNSIGNED_BYTE) { - swrast->BlendFunc = _mesa_mmx_blend_max; - } - else -#endif - swrast->BlendFunc = blend_max; - } - else if (srcRGB != srcA || dstRGB != dstA) { - swrast->BlendFunc = blend_general; - } - else if (eq == GL_FUNC_ADD && srcRGB == GL_SRC_ALPHA - && dstRGB == GL_ONE_MINUS_SRC_ALPHA) { + if (srcFactor == GL_SRC_ALPHA && dstFactor == GL_ONE_MINUS_SRC_ALPHA) { #if defined(USE_MMX_ASM) if (cpu_has_mmx && chanType == GL_UNSIGNED_BYTE) { swrast->BlendFunc = _mesa_mmx_blend_transparency; @@ -940,7 +619,7 @@ _swrast_choose_blend_func(struct gl_context *ctx, GLenum chanType) swrast->BlendFunc = blend_transparency_float; } } - else if (eq == GL_FUNC_ADD && srcRGB == GL_ONE && dstRGB == GL_ONE) { + else if (srcFactor == GL_ONE && dstFactor == GL_ONE) { #if defined(USE_MMX_ASM) if (cpu_has_mmx && chanType == GL_UNSIGNED_BYTE) { swrast->BlendFunc = _mesa_mmx_blend_add; @@ -949,11 +628,8 @@ _swrast_choose_blend_func(struct gl_context *ctx, GLenum chanType) #endif swrast->BlendFunc = blend_add; } - else if (((eq == GL_FUNC_ADD || eq == GL_FUNC_REVERSE_SUBTRACT) - && (srcRGB == GL_ZERO && dstRGB == GL_SRC_COLOR)) - || - ((eq == GL_FUNC_ADD || eq == GL_FUNC_SUBTRACT) - && (srcRGB == GL_DST_COLOR && dstRGB == GL_ZERO))) { + else if ((srcFactor == GL_ZERO && dstFactor == GL_SRC_COLOR) + || (srcFactor == GL_DST_COLOR && dstFactor == GL_ZERO)) { #if defined(USE_MMX_ASM) if (cpu_has_mmx && chanType == GL_UNSIGNED_BYTE) { swrast->BlendFunc = _mesa_mmx_blend_modulate; @@ -962,10 +638,10 @@ _swrast_choose_blend_func(struct gl_context *ctx, GLenum chanType) #endif swrast->BlendFunc = blend_modulate; } - else if (eq == GL_FUNC_ADD && srcRGB == GL_ZERO && dstRGB == GL_ONE) { + else if (srcFactor == GL_ZERO && dstFactor == GL_ONE) { swrast->BlendFunc = blend_noop; } - else if (eq == GL_FUNC_ADD && srcRGB == GL_ONE && dstRGB == GL_ZERO) { + else if (srcFactor == GL_ONE && dstFactor == GL_ZERO) { swrast->BlendFunc = blend_replace; } else { diff --git a/reactos/dll/opengl/mesa/swrast/s_context.c b/reactos/dll/opengl/mesa/swrast/s_context.c index 93fe5b18966..179014b6ca9 100644 --- a/reactos/dll/opengl/mesa/swrast/s_context.c +++ b/reactos/dll/opengl/mesa/swrast/s_context.c @@ -190,22 +190,6 @@ _swrast_update_fog_state( struct gl_context *ctx ) } -/** - * See if we can do early diffuse+specular (primary+secondary) color - * add per vertex instead of per-fragment. - */ -static void -_swrast_update_specular_vertex_add(struct gl_context *ctx) -{ - SWcontext *swrast = SWRAST_CONTEXT(ctx); - GLboolean separateSpecular = ctx->Fog.ColorSumEnabled || - (ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR); - - swrast->SpecularVertexAdd = (separateSpecular && !ctx->Texture._Enabled); -} - - #define _SWRAST_NEW_DERIVED (_SWRAST_NEW_RASTERMASK | \ _NEW_TEXTURE | \ _NEW_HINT | \ @@ -266,12 +250,6 @@ _swrast_validate_triangle( struct gl_context *ctx, swrast->choose_triangle( ctx ); ASSERT(swrast->Triangle); - if (swrast->SpecularVertexAdd) { - /* separate specular color, but no texture */ - swrast->SpecTriangle = swrast->Triangle; - swrast->Triangle = _swrast_add_spec_terms_triangle; - } - swrast->Triangle( ctx, v0, v1, v2 ); } @@ -288,11 +266,6 @@ _swrast_validate_line( struct gl_context *ctx, const SWvertex *v0, const SWverte swrast->choose_line( ctx ); ASSERT(swrast->Line); - if (swrast->SpecularVertexAdd) { - swrast->SpecLine = swrast->Line; - swrast->Line = _swrast_add_spec_terms_line; - } - swrast->Line( ctx, v0, v1 ); } @@ -308,11 +281,6 @@ _swrast_validate_point( struct gl_context *ctx, const SWvertex *v0 ) _swrast_validate_derived( ctx ); swrast->choose_point( ctx ); - if (swrast->SpecularVertexAdd) { - swrast->SpecPoint = swrast->Point; - swrast->Point = _swrast_add_spec_terms_point; - } - swrast->Point( ctx, v0 ); } @@ -411,15 +379,9 @@ _swrast_update_active_attribs(struct gl_context *ctx) attribsMask = 0x0; #if CHAN_TYPE == GL_FLOAT - attribsMask |= FRAG_BIT_COL0; + attribsMask |= FRAG_BIT_COL; #endif - if (ctx->Fog.ColorSumEnabled || - (ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)) { - attribsMask |= FRAG_BIT_COL1; - } - if (swrast->_FogEnabled) attribsMask |= FRAG_BIT_FOGC; @@ -434,7 +396,7 @@ _swrast_update_active_attribs(struct gl_context *ctx) if (attribsMask & BITFIELD64_BIT(i)) { swrast->_ActiveAttribs[num++] = i; /* how should this attribute be interpolated? */ - if (i == FRAG_ATTRIB_COL0 || i == FRAG_ATTRIB_COL1) + if (i == FRAG_ATTRIB_COL) swrast->_InterpMode[i] = ctx->Light.ShadeModel; else swrast->_InterpMode[i] = GL_SMOOTH; @@ -479,11 +441,6 @@ _swrast_validate_derived( struct gl_context *ctx ) _NEW_TEXTURE)) _swrast_update_active_attribs(ctx); - if (swrast->NewState & (_NEW_FOG | - _NEW_LIGHT | - _NEW_TEXTURE)) - _swrast_update_specular_vertex_add(ctx); - swrast->NewState = 0; swrast->StateChanges = 0; swrast->InvalidateState = _swrast_invalidate_state; @@ -770,11 +727,6 @@ _swrast_print_vertex( struct gl_context *ctx, const SWvertex *v ) _mesa_debug(ctx, "color %d %d %d %d\n", v->color[0], v->color[1], v->color[2], v->color[3]); #endif - _mesa_debug(ctx, "spec %g %g %g %g\n", - v->attrib[FRAG_ATTRIB_COL1][0], - v->attrib[FRAG_ATTRIB_COL1][1], - v->attrib[FRAG_ATTRIB_COL1][2], - v->attrib[FRAG_ATTRIB_COL1][3]); _mesa_debug(ctx, "fog %f\n", v->attrib[FRAG_ATTRIB_FOGC][0]); _mesa_debug(ctx, "index %f\n", v->attrib[FRAG_ATTRIB_CI][0]); _mesa_debug(ctx, "pointsize %f\n", v->pointSize); diff --git a/reactos/dll/opengl/mesa/swrast/s_context.h b/reactos/dll/opengl/mesa/swrast/s_context.h index 612956eb47a..190667e2c11 100644 --- a/reactos/dll/opengl/mesa/swrast/s_context.h +++ b/reactos/dll/opengl/mesa/swrast/s_context.h @@ -227,7 +227,6 @@ typedef struct GLbitfield NewState; GLuint StateChanges; GLenum Primitive; /* current primitive being drawn (ala glBegin) */ - GLboolean SpecularVertexAdd; /**< Add specular/secondary color per vertex */ void (*InvalidateState)( struct gl_context *ctx, GLbitfield new_state ); diff --git a/reactos/dll/opengl/mesa/swrast/s_copypix.c b/reactos/dll/opengl/mesa/swrast/s_copypix.c index e63e10245ac..a63976fe483 100644 --- a/reactos/dll/opengl/mesa/swrast/s_copypix.c +++ b/reactos/dll/opengl/mesa/swrast/s_copypix.c @@ -121,7 +121,7 @@ copy_rgba_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, INIT_SPAN(span, GL_BITMAP); _swrast_span_default_attribs(ctx, &span); span.arrayMask = SPAN_RGBA; - span.arrayAttribs = FRAG_BIT_COL0; /* we'll fill in COL0 attrib values */ + span.arrayAttribs = FRAG_BIT_COL; /* we'll fill in COL0 attrib values */ if (overlapping) { tmpImage = (GLfloat *) malloc(width * height * sizeof(GLfloat) * 4); @@ -146,7 +146,7 @@ copy_rgba_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, ASSERT(width < MAX_WIDTH); for (row = 0; row < height; row++, sy += stepy, dy += stepy) { - GLvoid *rgba = span.array->attribs[FRAG_ATTRIB_COL0]; + GLvoid *rgba = span.array->attribs[FRAG_ATTRIB_COL]; /* Get row/span of source pixels */ if (overlapping) { diff --git a/reactos/dll/opengl/mesa/swrast/s_drawpix.c b/reactos/dll/opengl/mesa/swrast/s_drawpix.c index 6c313b60391..06d9c94bfa4 100644 --- a/reactos/dll/opengl/mesa/swrast/s_drawpix.c +++ b/reactos/dll/opengl/mesa/swrast/s_drawpix.c @@ -409,7 +409,7 @@ draw_rgba_pixels( struct gl_context *ctx, GLint x, GLint y, INIT_SPAN(span, GL_BITMAP); _swrast_span_default_attribs(ctx, &span); span.arrayMask = SPAN_RGBA; - span.arrayAttribs = FRAG_BIT_COL0; /* we're fill in COL0 attrib values */ + span.arrayAttribs = FRAG_BIT_COL; /* we're fill in COL0 attrib values */ if (_mesa_get_format_datatype(ctx->DrawBuffer->_ColorDrawBuffer->Format) != GL_FLOAT) { /* need to clamp colors before applying fragment ops */ @@ -426,7 +426,7 @@ draw_rgba_pixels( struct gl_context *ctx, GLint x, GLint y, = _mesa_image_row_stride(unpack, width, format, type); GLint skipPixels = 0; /* use span array for temp color storage */ - GLfloat *rgba = (GLfloat *) span.array->attribs[FRAG_ATTRIB_COL0]; + GLfloat *rgba = (GLfloat *) span.array->attribs[FRAG_ATTRIB_COL]; /* if the span is wider than MAX_WIDTH we have to do it in chunks */ while (skipPixels < width) { diff --git a/reactos/dll/opengl/mesa/swrast/s_feedback.c b/reactos/dll/opengl/mesa/swrast/s_feedback.c index df322e99142..2916fac9363 100644 --- a/reactos/dll/opengl/mesa/swrast/s_feedback.c +++ b/reactos/dll/opengl/mesa/swrast/s_feedback.c @@ -31,7 +31,7 @@ feedback_vertex(struct gl_context * ctx, const SWvertex * v, const SWvertex * pv { GLfloat win[4]; const GLfloat *vtc = v->attrib[FRAG_ATTRIB_TEX]; - const GLfloat *color = v->attrib[FRAG_ATTRIB_COL0]; + const GLfloat *color = v->attrib[FRAG_ATTRIB_COL]; win[0] = v->attrib[FRAG_ATTRIB_WPOS][0]; win[1] = v->attrib[FRAG_ATTRIB_WPOS][1]; diff --git a/reactos/dll/opengl/mesa/swrast/s_fog.c b/reactos/dll/opengl/mesa/swrast/s_fog.c index 8aa52824057..29a56e0ba93 100644 --- a/reactos/dll/opengl/mesa/swrast/s_fog.c +++ b/reactos/dll/opengl/mesa/swrast/s_fog.c @@ -166,7 +166,7 @@ _swrast_fog_rgba_span( const struct gl_context *ctx, SWspan *span ) FOG_LOOP(GLushort, LINEAR_FOG); } else { - GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL]; ASSERT(span->array->ChanType == GL_FLOAT); FOG_LOOP(GLfloat, LINEAR_FOG); } @@ -185,7 +185,7 @@ _swrast_fog_rgba_span( const struct gl_context *ctx, SWspan *span ) FOG_LOOP(GLushort, EXP_FOG); } else { - GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL]; ASSERT(span->array->ChanType == GL_FLOAT); FOG_LOOP(GLfloat, EXP_FOG); } @@ -204,7 +204,7 @@ _swrast_fog_rgba_span( const struct gl_context *ctx, SWspan *span ) FOG_LOOP(GLushort, EXP2_FOG); } else { - GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL]; ASSERT(span->array->ChanType == GL_FLOAT); FOG_LOOP(GLfloat, EXP2_FOG); } @@ -229,7 +229,7 @@ _swrast_fog_rgba_span( const struct gl_context *ctx, SWspan *span ) FOG_LOOP(GLushort, BLEND_FOG); } else { - GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL]; ASSERT(span->array->ChanType == GL_FLOAT); FOG_LOOP(GLfloat, BLEND_FOG); } diff --git a/reactos/dll/opengl/mesa/swrast/s_lines.c b/reactos/dll/opengl/mesa/swrast/s_lines.c index b98ad3fde81..7694cd61e4a 100644 --- a/reactos/dll/opengl/mesa/swrast/s_lines.c +++ b/reactos/dll/opengl/mesa/swrast/s_lines.c @@ -149,41 +149,6 @@ draw_wide_line( struct gl_context *ctx, SWspan *span, GLboolean xMajor ) -void -_swrast_add_spec_terms_line(struct gl_context *ctx, - const SWvertex *v0, const SWvertex *v1) -{ - SWvertex *ncv0 = (SWvertex *)v0; - SWvertex *ncv1 = (SWvertex *)v1; - GLfloat rSum, gSum, bSum; - GLchan cSave[2][4]; - - /* save original colors */ - COPY_CHAN4(cSave[0], ncv0->color); - COPY_CHAN4(cSave[1], ncv1->color); - /* sum v0 */ - rSum = CHAN_TO_FLOAT(ncv0->color[0]) + ncv0->attrib[FRAG_ATTRIB_COL1][0]; - gSum = CHAN_TO_FLOAT(ncv0->color[1]) + ncv0->attrib[FRAG_ATTRIB_COL1][1]; - bSum = CHAN_TO_FLOAT(ncv0->color[2]) + ncv0->attrib[FRAG_ATTRIB_COL1][2]; - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[0], rSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[1], gSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[2], bSum); - /* sum v1 */ - rSum = CHAN_TO_FLOAT(ncv1->color[0]) + ncv1->attrib[FRAG_ATTRIB_COL1][0]; - gSum = CHAN_TO_FLOAT(ncv1->color[1]) + ncv1->attrib[FRAG_ATTRIB_COL1][1]; - bSum = CHAN_TO_FLOAT(ncv1->color[2]) + ncv1->attrib[FRAG_ATTRIB_COL1][2]; - UNCLAMPED_FLOAT_TO_CHAN(ncv1->color[0], rSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv1->color[1], gSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv1->color[2], bSum); - /* draw */ - SWRAST_CONTEXT(ctx)->SpecLine( ctx, ncv0, ncv1 ); - /* restore original colors */ - COPY_CHAN4( ncv0->attrib[FRAG_ATTRIB_COL0], cSave[0] ); - COPY_CHAN4( ncv1->attrib[FRAG_ATTRIB_COL0], cSave[1] ); -} - - - #ifdef DEBUG /* record the current line function name */ @@ -215,9 +180,6 @@ void _swrast_choose_line( struct gl_context *ctx ) { SWcontext *swrast = SWRAST_CONTEXT(ctx); - GLboolean specular = (ctx->Fog.ColorSumEnabled || - (ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)); if (ctx->RenderMode == GL_RENDER) { if (ctx->Line.SmoothFlag) { @@ -226,8 +188,7 @@ _swrast_choose_line( struct gl_context *ctx ) ASSERT(swrast->Line); } else if (ctx->Texture._EnabledCoord - || swrast->_FogEnabled - || specular) { + || swrast->_FogEnabled) { USE(general_line); } else if (ctx->Depth.Test diff --git a/reactos/dll/opengl/mesa/swrast/s_linetemp.h b/reactos/dll/opengl/mesa/swrast/s_linetemp.h index c58a39a2714..6f369eea3a5 100644 --- a/reactos/dll/opengl/mesa/swrast/s_linetemp.h +++ b/reactos/dll/opengl/mesa/swrast/s_linetemp.h @@ -153,18 +153,6 @@ NAME( struct gl_context *ctx, const SWvertex *vert0, const SWvertex *vert1 ) if (dx == 0 && dy == 0) return; - /* - printf("%s %d,%d %g %g %g %g %g %g %g %g\n", __FUNCTION__, dx, dy, - vert0->attrib[FRAG_ATTRIB_COL1][0], - vert0->attrib[FRAG_ATTRIB_COL1][1], - vert0->attrib[FRAG_ATTRIB_COL1][2], - vert0->attrib[FRAG_ATTRIB_COL1][3], - vert1->attrib[FRAG_ATTRIB_COL1][0], - vert1->attrib[FRAG_ATTRIB_COL1][1], - vert1->attrib[FRAG_ATTRIB_COL1][2], - vert1->attrib[FRAG_ATTRIB_COL1][3]); - */ - #ifdef DEPTH_TYPE zPtr = (DEPTH_TYPE *) _swrast_pixel_address(zrb, x0, y0); #endif diff --git a/reactos/dll/opengl/mesa/swrast/s_logic.c b/reactos/dll/opengl/mesa/swrast/s_logic.c index 959a92b3abb..ffc4a6fb8c6 100644 --- a/reactos/dll/opengl/mesa/swrast/s_logic.c +++ b/reactos/dll/opengl/mesa/swrast/s_logic.c @@ -203,7 +203,7 @@ _swrast_logicop_rgba_span(struct gl_context *ctx, struct gl_renderbuffer *rb, } else { logicop_uint4(ctx, 4 * span->end, - (GLuint *) span->array->attribs[FRAG_ATTRIB_COL0], + (GLuint *) span->array->attribs[FRAG_ATTRIB_COL], (const GLuint *) rbPixels, span->array->mask); } } diff --git a/reactos/dll/opengl/mesa/swrast/s_masking.c b/reactos/dll/opengl/mesa/swrast/s_masking.c index 6e848cca269..aa457a7b186 100644 --- a/reactos/dll/opengl/mesa/swrast/s_masking.c +++ b/reactos/dll/opengl/mesa/swrast/s_masking.c @@ -82,7 +82,7 @@ _swrast_mask_rgba_span(struct gl_context *ctx, struct gl_renderbuffer *rb, const GLuint bMask = ctx->Color.ColorMask[BCOMP] ? ~0x0 : 0x0; const GLuint aMask = ctx->Color.ColorMask[ACOMP] ? ~0x0 : 0x0; const GLuint (*dst)[4] = (const GLuint (*)[4]) rbPixels; - GLuint (*src)[4] = (GLuint (*)[4]) span->array->attribs[FRAG_ATTRIB_COL0]; + GLuint (*src)[4] = (GLuint (*)[4]) span->array->attribs[FRAG_ATTRIB_COL]; GLuint i; for (i = 0; i < n; i++) { src[i][RCOMP] = (src[i][RCOMP] & rMask) | (dst[i][RCOMP] & ~rMask); diff --git a/reactos/dll/opengl/mesa/swrast/s_points.c b/reactos/dll/opengl/mesa/swrast/s_points.c index 53932eb7d14..93a3415cbdb 100644 --- a/reactos/dll/opengl/mesa/swrast/s_points.c +++ b/reactos/dll/opengl/mesa/swrast/s_points.c @@ -486,33 +486,6 @@ pixel_point(struct gl_context *ctx, const SWvertex *vert) } -/** - * Add specular color to primary color, draw point, restore original - * primary color. - */ -void -_swrast_add_spec_terms_point(struct gl_context *ctx, const SWvertex *v0) -{ - SWvertex *ncv0 = (SWvertex *) v0; /* cast away const */ - GLfloat rSum, gSum, bSum; - GLchan cSave[4]; - - /* save */ - COPY_CHAN4(cSave, ncv0->color); - /* sum */ - rSum = CHAN_TO_FLOAT(ncv0->color[0]) + ncv0->attrib[FRAG_ATTRIB_COL1][0]; - gSum = CHAN_TO_FLOAT(ncv0->color[1]) + ncv0->attrib[FRAG_ATTRIB_COL1][1]; - bSum = CHAN_TO_FLOAT(ncv0->color[2]) + ncv0->attrib[FRAG_ATTRIB_COL1][2]; - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[0], rSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[1], gSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[2], bSum); - /* draw */ - SWRAST_CONTEXT(ctx)->SpecPoint(ctx, ncv0); - /* restore */ - COPY_CHAN4(ncv0->color, cSave); -} - - /** * Examine current state to determine which point drawing function to use. */ diff --git a/reactos/dll/opengl/mesa/swrast/s_span.c b/reactos/dll/opengl/mesa/swrast/s_span.c index c1973d868b4..ce296074ad1 100644 --- a/reactos/dll/opengl/mesa/swrast/s_span.c +++ b/reactos/dll/opengl/mesa/swrast/s_span.c @@ -82,17 +82,9 @@ _swrast_span_default_attribs(struct gl_context *ctx, SWspan *span) span->alphaStep = 0; span->interpMask |= SPAN_RGBA; - COPY_4V(span->attrStart[FRAG_ATTRIB_COL0], ctx->Current.RasterColor); - ASSIGN_4V(span->attrStepX[FRAG_ATTRIB_COL0], 0.0, 0.0, 0.0, 0.0); - ASSIGN_4V(span->attrStepY[FRAG_ATTRIB_COL0], 0.0, 0.0, 0.0, 0.0); - - /* Secondary color */ - if (ctx->Light.Enabled || ctx->Fog.ColorSumEnabled) - { - COPY_4V(span->attrStart[FRAG_ATTRIB_COL1], ctx->Current.RasterSecondaryColor); - ASSIGN_4V(span->attrStepX[FRAG_ATTRIB_COL1], 0.0, 0.0, 0.0, 0.0); - ASSIGN_4V(span->attrStepY[FRAG_ATTRIB_COL1], 0.0, 0.0, 0.0, 0.0); - } + COPY_4V(span->attrStart[FRAG_ATTRIB_COL], ctx->Current.RasterColor); + ASSIGN_4V(span->attrStepX[FRAG_ATTRIB_COL], 0.0, 0.0, 0.0, 0.0); + ASSIGN_4V(span->attrStepY[FRAG_ATTRIB_COL], 0.0, 0.0, 0.0, 0.0); /* fog */ { @@ -272,7 +264,7 @@ interpolate_int_colors(struct gl_context *ctx, SWspan *span) break; #endif case GL_FLOAT: - interpolate_active_attribs(ctx, span, FRAG_BIT_COL0); + interpolate_active_attribs(ctx, span, FRAG_BIT_COL); break; default: _mesa_problem(ctx, "bad datatype 0x%x in interpolate_int_colors", @@ -283,12 +275,12 @@ interpolate_int_colors(struct gl_context *ctx, SWspan *span) /** - * Populate the FRAG_ATTRIB_COL0 array. + * Populate the FRAG_ATTRIB_COL array. */ static inline void interpolate_float_colors(SWspan *span) { - GLfloat (*col0)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*col0)[4] = span->array->attribs[FRAG_ATTRIB_COL]; const GLuint n = span->end; GLuint i; @@ -337,7 +329,7 @@ interpolate_float_colors(SWspan *span) } } - span->arrayAttribs |= FRAG_BIT_COL0; + span->arrayAttribs |= FRAG_BIT_COL; span->array->ChanType = GL_FLOAT; } @@ -739,57 +731,6 @@ clip_span( struct gl_context *ctx, SWspan *span ) } -/** - * Add specular colors to primary colors. - * Only called during fixed-function operation. - * Result is float color array (FRAG_ATTRIB_COL0). - */ -static inline void -add_specular(struct gl_context *ctx, SWspan *span) -{ - const SWcontext *swrast = SWRAST_CONTEXT(ctx); - const GLubyte *mask = span->array->mask; - GLfloat (*col0)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; - GLfloat (*col1)[4] = span->array->attribs[FRAG_ATTRIB_COL1]; - GLuint i; - - ASSERT(!_swrast_use_fragment_program(ctx)); - ASSERT(span->arrayMask & SPAN_RGBA); - ASSERT(swrast->_ActiveAttribMask & FRAG_BIT_COL1); - (void) swrast; /* silence warning */ - - if (span->array->ChanType == GL_FLOAT) { - if ((span->arrayAttribs & FRAG_BIT_COL0) == 0) { - interpolate_active_attribs(ctx, span, FRAG_BIT_COL0); - } - } - else { - /* need float colors */ - if ((span->arrayAttribs & FRAG_BIT_COL0) == 0) { - interpolate_float_colors(span); - } - } - - if ((span->arrayAttribs & FRAG_BIT_COL1) == 0) { - /* XXX could avoid this and interpolate COL1 in the loop below */ - interpolate_active_attribs(ctx, span, FRAG_BIT_COL1); - } - - ASSERT(span->arrayAttribs & FRAG_BIT_COL0); - ASSERT(span->arrayAttribs & FRAG_BIT_COL1); - - for (i = 0; i < span->end; i++) { - if (mask[i]) { - col0[i][0] += col1[i][0]; - col0[i][1] += col1[i][1]; - col0[i][2] += col1[i][2]; - } - } - - span->array->ChanType = GL_FLOAT; -} - - /** * Apply antialiasing coverage value to alpha values. */ @@ -815,7 +756,7 @@ apply_aa_coverage(SWspan *span) } } else { - GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL]; for (i = 0; i < span->end; i++) { rgba[i][ACOMP] = rgba[i][ACOMP] * coverage[i]; /* clamp later */ @@ -830,7 +771,7 @@ apply_aa_coverage(SWspan *span) static inline void clamp_colors(SWspan *span) { - GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL]; GLuint i; ASSERT(span->array->ChanType == GL_FLOAT); for (i = 0; i < span->end; i++) { @@ -854,7 +795,7 @@ convert_color_type(SWspan *span, GLenum newType, GLuint output) GLvoid *src, *dst; if (output > 0 || span->array->ChanType == GL_FLOAT) { - src = span->array->attribs[FRAG_ATTRIB_COL0 + output]; + src = span->array->attribs[FRAG_ATTRIB_COL + output]; span->array->ChanType = GL_FLOAT; } else if (span->array->ChanType == GL_UNSIGNED_BYTE) { @@ -872,7 +813,7 @@ convert_color_type(SWspan *span, GLenum newType, GLuint output) dst = span->array->rgba16; } else { - dst = span->array->attribs[FRAG_ATTRIB_COL0]; + dst = span->array->attribs[FRAG_ATTRIB_COL]; } _mesa_convert_colors(span->array->ChanType, src, @@ -1140,15 +1081,6 @@ _swrast_write_rgba_span( struct gl_context *ctx, SWspan *span) ASSERT(span->arrayMask & SPAN_RGBA); - if (span->primitive == GL_BITMAP || !swrast->SpecularVertexAdd) { - /* Add primary and specular (diffuse + specular) colors */ - if (ctx->Fog.ColorSumEnabled || - (ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)) { - add_specular(ctx, span); - } - } - /* Fog */ if (swrast->_FogEnabled) { _swrast_fog_rgba_span(ctx, span); @@ -1187,7 +1119,7 @@ _swrast_write_rgba_span( struct gl_context *ctx, SWspan *span) span->array->rgba = span->array->rgba8; } else { - span->array->rgba = (void *)span->array->attribs[FRAG_ATTRIB_COL0]; + span->array->rgba = (void *)span->array->attribs[FRAG_ATTRIB_COL]; } } diff --git a/reactos/dll/opengl/mesa/swrast/s_triangle.c b/reactos/dll/opengl/mesa/swrast/s_triangle.c index e967e9b4290..0a78a3b9848 100644 --- a/reactos/dll/opengl/mesa/swrast/s_triangle.c +++ b/reactos/dll/opengl/mesa/swrast/s_triangle.c @@ -867,56 +867,6 @@ nodraw_triangle( struct gl_context *ctx, } -/* - * This is used when separate specular color is enabled, but not - * texturing. We add the specular color to the primary color, - * draw the triangle, then restore the original primary color. - * Inefficient, but seldom needed. - */ -void -_swrast_add_spec_terms_triangle(struct gl_context *ctx, const SWvertex *v0, - const SWvertex *v1, const SWvertex *v2) -{ - SWvertex *ncv0 = (SWvertex *)v0; /* drop const qualifier */ - SWvertex *ncv1 = (SWvertex *)v1; - SWvertex *ncv2 = (SWvertex *)v2; - GLfloat rSum, gSum, bSum; - GLchan cSave[3][4]; - - /* save original colors */ - COPY_CHAN4( cSave[0], ncv0->color ); - COPY_CHAN4( cSave[1], ncv1->color ); - COPY_CHAN4( cSave[2], ncv2->color ); - /* sum v0 */ - rSum = CHAN_TO_FLOAT(ncv0->color[0]) + ncv0->attrib[FRAG_ATTRIB_COL1][0]; - gSum = CHAN_TO_FLOAT(ncv0->color[1]) + ncv0->attrib[FRAG_ATTRIB_COL1][1]; - bSum = CHAN_TO_FLOAT(ncv0->color[2]) + ncv0->attrib[FRAG_ATTRIB_COL1][2]; - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[0], rSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[1], gSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv0->color[2], bSum); - /* sum v1 */ - rSum = CHAN_TO_FLOAT(ncv1->color[0]) + ncv1->attrib[FRAG_ATTRIB_COL1][0]; - gSum = CHAN_TO_FLOAT(ncv1->color[1]) + ncv1->attrib[FRAG_ATTRIB_COL1][1]; - bSum = CHAN_TO_FLOAT(ncv1->color[2]) + ncv1->attrib[FRAG_ATTRIB_COL1][2]; - UNCLAMPED_FLOAT_TO_CHAN(ncv1->color[0], rSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv1->color[1], gSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv1->color[2], bSum); - /* sum v2 */ - rSum = CHAN_TO_FLOAT(ncv2->color[0]) + ncv2->attrib[FRAG_ATTRIB_COL1][0]; - gSum = CHAN_TO_FLOAT(ncv2->color[1]) + ncv2->attrib[FRAG_ATTRIB_COL1][1]; - bSum = CHAN_TO_FLOAT(ncv2->color[2]) + ncv2->attrib[FRAG_ATTRIB_COL1][2]; - UNCLAMPED_FLOAT_TO_CHAN(ncv2->color[0], rSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv2->color[1], gSum); - UNCLAMPED_FLOAT_TO_CHAN(ncv2->color[2], bSum); - /* draw */ - SWRAST_CONTEXT(ctx)->SpecTriangle( ctx, ncv0, ncv1, ncv2 ); - /* restore original colors */ - COPY_CHAN4( ncv0->color, cSave[0] ); - COPY_CHAN4( ncv1->color, cSave[1] ); - COPY_CHAN4( ncv2->color, cSave[2] ); -} - - #ifdef DEBUG @@ -970,7 +920,6 @@ _swrast_choose_triangle( struct gl_context *ctx ) * needs to be interpolated. */ if (ctx->Texture._EnabledCoord || - _mesa_need_secondary_color(ctx) || swrast->_FogEnabled) { /* Ugh, we do a _lot_ of tests to pick the best textured tri func */ const struct gl_texture_object *texObj2D; @@ -999,7 +948,6 @@ _swrast_choose_triangle( struct gl_context *ctx ) && texImg->Width == swImg->RowStride && (format == MESA_FORMAT_RGB888 || format == MESA_FORMAT_RGBA8888) && minFilter == magFilter - && ctx->Light.Model.ColorControl == GL_SINGLE_COLOR && !swrast->_FogEnabled && ctx->Texture.Unit.EnvMode != GL_COMBINE_EXT && ctx->Texture.Unit.EnvMode != GL_COMBINE4_NV) { diff --git a/reactos/dll/opengl/mesa/swrast/s_tritemp.h b/reactos/dll/opengl/mesa/swrast/s_tritemp.h index 8f1723617a1..c6ae5fc3586 100644 --- a/reactos/dll/opengl/mesa/swrast/s_tritemp.h +++ b/reactos/dll/opengl/mesa/swrast/s_tritemp.h @@ -361,32 +361,32 @@ static void NAME(struct gl_context *ctx, const SWvertex *v0, GLfloat eMaj_da = (GLfloat) (vMax->color[ACOMP] - vMin->color[ACOMP]); GLfloat eBot_da = (GLfloat) (vMid->color[ACOMP] - vMin->color[ACOMP]); # endif - span.attrStepX[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj_dr * eBot.dy - eMaj.dy * eBot_dr); - span.attrStepY[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj.dx * eBot_dr - eMaj_dr * eBot.dx); - span.attrStepX[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj_dg * eBot.dy - eMaj.dy * eBot_dg); - span.attrStepY[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj.dx * eBot_dg - eMaj_dg * eBot.dx); - span.attrStepX[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj_db * eBot.dy - eMaj.dy * eBot_db); - span.attrStepY[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj.dx * eBot_db - eMaj_db * eBot.dx); - span.redStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL0][0]); - span.greenStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL0][1]); - span.blueStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL0][2]); + span.attrStepX[FRAG_ATTRIB_COL][0] = oneOverArea * (eMaj_dr * eBot.dy - eMaj.dy * eBot_dr); + span.attrStepY[FRAG_ATTRIB_COL][0] = oneOverArea * (eMaj.dx * eBot_dr - eMaj_dr * eBot.dx); + span.attrStepX[FRAG_ATTRIB_COL][1] = oneOverArea * (eMaj_dg * eBot.dy - eMaj.dy * eBot_dg); + span.attrStepY[FRAG_ATTRIB_COL][1] = oneOverArea * (eMaj.dx * eBot_dg - eMaj_dg * eBot.dx); + span.attrStepX[FRAG_ATTRIB_COL][2] = oneOverArea * (eMaj_db * eBot.dy - eMaj.dy * eBot_db); + span.attrStepY[FRAG_ATTRIB_COL][2] = oneOverArea * (eMaj.dx * eBot_db - eMaj_db * eBot.dx); + span.redStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL][0]); + span.greenStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL][1]); + span.blueStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL][2]); # ifdef INTERP_ALPHA - span.attrStepX[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da); - span.attrStepY[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx); - span.alphaStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL0][3]); + span.attrStepX[FRAG_ATTRIB_COL][3] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da); + span.attrStepY[FRAG_ATTRIB_COL][3] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx); + span.alphaStep = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_COL][3]); # endif /* INTERP_ALPHA */ } else { ASSERT(ctx->Light.ShadeModel == GL_FLAT); span.interpMask |= SPAN_FLAT; - span.attrStepX[FRAG_ATTRIB_COL0][0] = span.attrStepY[FRAG_ATTRIB_COL0][0] = 0.0F; - span.attrStepX[FRAG_ATTRIB_COL0][1] = span.attrStepY[FRAG_ATTRIB_COL0][1] = 0.0F; - span.attrStepX[FRAG_ATTRIB_COL0][2] = span.attrStepY[FRAG_ATTRIB_COL0][2] = 0.0F; + span.attrStepX[FRAG_ATTRIB_COL][0] = span.attrStepY[FRAG_ATTRIB_COL][0] = 0.0F; + span.attrStepX[FRAG_ATTRIB_COL][1] = span.attrStepY[FRAG_ATTRIB_COL][1] = 0.0F; + span.attrStepX[FRAG_ATTRIB_COL][2] = span.attrStepY[FRAG_ATTRIB_COL][2] = 0.0F; span.redStep = 0; span.greenStep = 0; span.blueStep = 0; # ifdef INTERP_ALPHA - span.attrStepX[FRAG_ATTRIB_COL0][3] = span.attrStepY[FRAG_ATTRIB_COL0][3] = 0.0F; + span.attrStepX[FRAG_ATTRIB_COL][3] = span.attrStepY[FRAG_ATTRIB_COL][3] = 0.0F; span.alphaStep = 0; # endif } @@ -636,26 +636,26 @@ static void NAME(struct gl_context *ctx, const SWvertex *v0, #ifdef INTERP_RGB if (ctx->Light.ShadeModel == GL_SMOOTH) { rLeft = (GLint)(ChanToFixed(vLower->color[RCOMP]) - + span.attrStepX[FRAG_ATTRIB_COL0][0] * adjx - + span.attrStepY[FRAG_ATTRIB_COL0][0] * adjy) + FIXED_HALF; + + span.attrStepX[FRAG_ATTRIB_COL][0] * adjx + + span.attrStepY[FRAG_ATTRIB_COL][0] * adjy) + FIXED_HALF; gLeft = (GLint)(ChanToFixed(vLower->color[GCOMP]) - + span.attrStepX[FRAG_ATTRIB_COL0][1] * adjx - + span.attrStepY[FRAG_ATTRIB_COL0][1] * adjy) + FIXED_HALF; + + span.attrStepX[FRAG_ATTRIB_COL][1] * adjx + + span.attrStepY[FRAG_ATTRIB_COL][1] * adjy) + FIXED_HALF; bLeft = (GLint)(ChanToFixed(vLower->color[BCOMP]) - + span.attrStepX[FRAG_ATTRIB_COL0][2] * adjx - + span.attrStepY[FRAG_ATTRIB_COL0][2] * adjy) + FIXED_HALF; - fdrOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL0][0] - + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]); - fdgOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL0][1] - + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]); - fdbOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL0][2] - + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]); + + span.attrStepX[FRAG_ATTRIB_COL][2] * adjx + + span.attrStepY[FRAG_ATTRIB_COL][2] * adjy) + FIXED_HALF; + fdrOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL][0] + + dxOuter * span.attrStepX[FRAG_ATTRIB_COL][0]); + fdgOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL][1] + + dxOuter * span.attrStepX[FRAG_ATTRIB_COL][1]); + fdbOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL][2] + + dxOuter * span.attrStepX[FRAG_ATTRIB_COL][2]); # ifdef INTERP_ALPHA aLeft = (GLint)(ChanToFixed(vLower->color[ACOMP]) - + span.attrStepX[FRAG_ATTRIB_COL0][3] * adjx - + span.attrStepY[FRAG_ATTRIB_COL0][3] * adjy) + FIXED_HALF; - fdaOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL0][3] - + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]); + + span.attrStepX[FRAG_ATTRIB_COL][3] * adjx + + span.attrStepY[FRAG_ATTRIB_COL][3] * adjy) + FIXED_HALF; + fdaOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_COL][3] + + dxOuter * span.attrStepX[FRAG_ATTRIB_COL][3]); # endif } else { diff --git a/reactos/dll/opengl/mesa/swrast/s_zoom.c b/reactos/dll/opengl/mesa/swrast/s_zoom.c index b02a344c6b2..240cd1f0aec 100644 --- a/reactos/dll/opengl/mesa/swrast/s_zoom.c +++ b/reactos/dll/opengl/mesa/swrast/s_zoom.c @@ -156,7 +156,7 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, else if (zoomed.array->ChanType == GL_UNSIGNED_SHORT) zoomed.array->rgba = (GLchan (*)[4]) zoomed.array->rgba16; else - zoomed.array->rgba = (GLchan (*)[4]) zoomed.array->attribs[FRAG_ATTRIB_COL0]; + zoomed.array->rgba = (GLchan (*)[4]) zoomed.array->attribs[FRAG_ATTRIB_COL]; COPY_4V(zoomed.attrStart[FRAG_ATTRIB_WPOS], span->attrStart[FRAG_ATTRIB_WPOS]); COPY_4V(zoomed.attrStepX[FRAG_ATTRIB_WPOS], span->attrStepX[FRAG_ATTRIB_WPOS]); @@ -173,7 +173,7 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, /* we'll generate an array of colorss */ zoomed.interpMask = span->interpMask & ~SPAN_RGBA; zoomed.arrayMask |= SPAN_RGBA; - zoomed.arrayAttribs |= FRAG_BIT_COL0; /* we'll produce these values */ + zoomed.arrayAttribs |= FRAG_BIT_COL; /* we'll produce these values */ ASSERT(span->arrayMask & SPAN_RGBA); } else if (format == GL_DEPTH_COMPONENT) { @@ -225,7 +225,7 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - span->x; ASSERT(j >= 0); ASSERT(j < span->end); - COPY_4V(zoomed.array->attribs[FRAG_ATTRIB_COL0][i], rgba[j]); + COPY_4V(zoomed.array->attribs[FRAG_ATTRIB_COL][i], rgba[j]); } } } @@ -263,10 +263,10 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - span->x; ASSERT(j >= 0); ASSERT(j < span->end); - zoomed.array->attribs[FRAG_ATTRIB_COL0][i][0] = rgb[j][0]; - zoomed.array->attribs[FRAG_ATTRIB_COL0][i][1] = rgb[j][1]; - zoomed.array->attribs[FRAG_ATTRIB_COL0][i][2] = rgb[j][2]; - zoomed.array->attribs[FRAG_ATTRIB_COL0][i][3] = 1.0F; + zoomed.array->attribs[FRAG_ATTRIB_COL][i][0] = rgb[j][0]; + zoomed.array->attribs[FRAG_ATTRIB_COL][i][1] = rgb[j][1]; + zoomed.array->attribs[FRAG_ATTRIB_COL][i][2] = rgb[j][2]; + zoomed.array->attribs[FRAG_ATTRIB_COL][i][3] = 1.0F; } } } diff --git a/reactos/dll/opengl/mesa/swrast/swrast.h b/reactos/dll/opengl/mesa/swrast/swrast.h index cff5ed874bd..e3f2d942fa1 100644 --- a/reactos/dll/opengl/mesa/swrast/swrast.h +++ b/reactos/dll/opengl/mesa/swrast/swrast.h @@ -70,13 +70,13 @@ * primitives unaccelerated), hook in swrast_setup instead. */ typedef struct { - GLfloat attrib[32][4]; + GLfloat attrib[FRAG_ATTRIB_MAX][4]; GLchan color[4]; /** integer color */ GLfloat pointSize; } SWvertex; -#define FRAG_ATTRIB_CI FRAG_ATTRIB_COL0 +#define FRAG_ATTRIB_CI FRAG_ATTRIB_COL struct swrast_device_driver; diff --git a/reactos/dll/opengl/mesa/swrast_setup/ss_context.c b/reactos/dll/opengl/mesa/swrast_setup/ss_context.c index 7965f8eda8a..ca2d37603dc 100644 --- a/reactos/dll/opengl/mesa/swrast_setup/ss_context.c +++ b/reactos/dll/opengl/mesa/swrast_setup/ss_context.c @@ -125,15 +125,11 @@ setup_vertex_format(struct gl_context *ctx) EMIT_ATTR( _TNL_ATTRIB_POS, EMIT_4F_VIEWPORT, attrib[FRAG_ATTRIB_WPOS] ); - if (index_bitset & BITFIELD64_BIT(_TNL_ATTRIB_COLOR0)) { + if (index_bitset & BITFIELD64_BIT(_TNL_ATTRIB_COLOR)) { if (swsetup->intColors) - EMIT_ATTR( _TNL_ATTRIB_COLOR0, EMIT_4CHAN_4F_RGBA, color ); + EMIT_ATTR( _TNL_ATTRIB_COLOR, EMIT_4CHAN_4F_RGBA, color ); else - EMIT_ATTR( _TNL_ATTRIB_COLOR0, EMIT_4F, attrib[FRAG_ATTRIB_COL0]); - } - - if (index_bitset & BITFIELD64_BIT(_TNL_ATTRIB_COLOR1)) { - EMIT_ATTR( _TNL_ATTRIB_COLOR1, EMIT_4F, attrib[FRAG_ATTRIB_COL1]); + EMIT_ATTR( _TNL_ATTRIB_COLOR, EMIT_4F, attrib[FRAG_ATTRIB_COL]); } if (index_bitset & BITFIELD64_BIT(_TNL_ATTRIB_FOG)) { diff --git a/reactos/dll/opengl/mesa/swrast_setup/ss_triangle.c b/reactos/dll/opengl/mesa/swrast_setup/ss_triangle.c index 58918b8d510..7684f722735 100644 --- a/reactos/dll/opengl/mesa/swrast_setup/ss_triangle.c +++ b/reactos/dll/opengl/mesa/swrast_setup/ss_triangle.c @@ -130,26 +130,18 @@ static void _swsetup_render_tri(struct gl_context *ctx, if (ctx->Light.ShadeModel == GL_FLAT) { GLchan c[2][4]; - GLfloat s[2][4]; /* save colors/indexes for v0, v1 vertices */ COPY_CHAN4(c[0], v0->color); COPY_CHAN4(c[1], v1->color); - COPY_4V(s[0], v0->attrib[FRAG_ATTRIB_COL1]); - COPY_4V(s[1], v1->attrib[FRAG_ATTRIB_COL1]); /* copy v2 color/indexes to v0, v1 indexes */ COPY_CHAN4(v0->color, v2->color); COPY_CHAN4(v1->color, v2->color); - COPY_4V(v0->attrib[FRAG_ATTRIB_COL1], v2->attrib[FRAG_ATTRIB_COL1]); - COPY_4V(v1->attrib[FRAG_ATTRIB_COL1], v2->attrib[FRAG_ATTRIB_COL1]); - render(ctx, ef, e0, e1, e2, v0, v1, v2); COPY_CHAN4(v0->color, c[0]); COPY_CHAN4(v1->color, c[1]); - COPY_4V(v0->attrib[FRAG_ATTRIB_COL1], s[0]); - COPY_4V(v1->attrib[FRAG_ATTRIB_COL1], s[1]); } else { render(ctx, ef, e0, e1, e2, v0, v1, v2); diff --git a/reactos/dll/opengl/mesa/swrast_setup/ss_tritmp.h b/reactos/dll/opengl/mesa/swrast_setup/ss_tritmp.h index 89ed0418dbd..d4a53076bac 100644 --- a/reactos/dll/opengl/mesa/swrast_setup/ss_tritmp.h +++ b/reactos/dll/opengl/mesa/swrast_setup/ss_tritmp.h @@ -37,7 +37,6 @@ static void TAG(triangle)(struct gl_context *ctx, GLuint e0, GLuint e1, GLuint e SScontext *swsetup = SWSETUP_CONTEXT(ctx); GLchan saved_color[3][4] = { { 0 } }; GLfloat saved_col0[3][4] = { { 0 } }; - GLfloat saved_spec[3][4] = { { 0 } }; #endif SWvertex *verts = SWSETUP_CONTEXT(ctx)->verts; SWvertex *v[3]; @@ -79,9 +78,9 @@ static void TAG(triangle)(struct gl_context *ctx, GLuint e0, GLuint e1, GLuint e COPY_CHAN4(saved_color[2], v[2]->color); } else { - COPY_4V(saved_col0[0], v[0]->attrib[FRAG_ATTRIB_COL0]); - COPY_4V(saved_col0[1], v[1]->attrib[FRAG_ATTRIB_COL0]); - COPY_4V(saved_col0[2], v[2]->attrib[FRAG_ATTRIB_COL0]); + COPY_4V(saved_col0[0], v[0]->attrib[FRAG_ATTRIB_COL]); + COPY_4V(saved_col0[1], v[1]->attrib[FRAG_ATTRIB_COL]); + COPY_4V(saved_col0[2], v[2]->attrib[FRAG_ATTRIB_COL]); } if (VB->BackfaceColorPtr->stride) { @@ -91,9 +90,9 @@ static void TAG(triangle)(struct gl_context *ctx, GLuint e0, GLuint e1, GLuint e SS_COLOR(v[2]->color, vbcolor[e2]); } else { - COPY_4V(v[0]->attrib[FRAG_ATTRIB_COL0], vbcolor[e0]); - COPY_4V(v[1]->attrib[FRAG_ATTRIB_COL0], vbcolor[e1]); - COPY_4V(v[2]->attrib[FRAG_ATTRIB_COL0], vbcolor[e2]); + COPY_4V(v[0]->attrib[FRAG_ATTRIB_COL], vbcolor[e0]); + COPY_4V(v[1]->attrib[FRAG_ATTRIB_COL], vbcolor[e1]); + COPY_4V(v[2]->attrib[FRAG_ATTRIB_COL], vbcolor[e2]); } } else { @@ -104,31 +103,12 @@ static void TAG(triangle)(struct gl_context *ctx, GLuint e0, GLuint e1, GLuint e SS_COLOR(v[2]->color, vbcolor[0]); } else { - COPY_4V(v[0]->attrib[FRAG_ATTRIB_COL0], vbcolor[0]); - COPY_4V(v[1]->attrib[FRAG_ATTRIB_COL0], vbcolor[0]); - COPY_4V(v[2]->attrib[FRAG_ATTRIB_COL0], vbcolor[0]); + COPY_4V(v[0]->attrib[FRAG_ATTRIB_COL], vbcolor[0]); + COPY_4V(v[1]->attrib[FRAG_ATTRIB_COL], vbcolor[0]); + COPY_4V(v[2]->attrib[FRAG_ATTRIB_COL], vbcolor[0]); } } } - - if (VB->BackfaceSecondaryColorPtr) { - GLfloat (*vbspec)[4] = VB->BackfaceSecondaryColorPtr->data; - - COPY_4V(saved_spec[0], v[0]->attrib[FRAG_ATTRIB_COL1]); - COPY_4V(saved_spec[1], v[1]->attrib[FRAG_ATTRIB_COL1]); - COPY_4V(saved_spec[2], v[2]->attrib[FRAG_ATTRIB_COL1]); - - if (VB->BackfaceSecondaryColorPtr->stride) { - SS_SPEC(v[0]->attrib[FRAG_ATTRIB_COL1], vbspec[e0]); - SS_SPEC(v[1]->attrib[FRAG_ATTRIB_COL1], vbspec[e1]); - SS_SPEC(v[2]->attrib[FRAG_ATTRIB_COL1], vbspec[e2]); - } - else { - SS_SPEC(v[0]->attrib[FRAG_ATTRIB_COL1], vbspec[0]); - SS_SPEC(v[1]->attrib[FRAG_ATTRIB_COL1], vbspec[0]); - SS_SPEC(v[2]->attrib[FRAG_ATTRIB_COL1], vbspec[0]); - } - } } #endif } @@ -210,17 +190,11 @@ static void TAG(triangle)(struct gl_context *ctx, GLuint e0, GLuint e1, GLuint e COPY_CHAN4(v[2]->color, saved_color[2]); } else { - COPY_4V(v[0]->attrib[FRAG_ATTRIB_COL0], saved_col0[0]); - COPY_4V(v[1]->attrib[FRAG_ATTRIB_COL0], saved_col0[1]); - COPY_4V(v[2]->attrib[FRAG_ATTRIB_COL0], saved_col0[2]); + COPY_4V(v[0]->attrib[FRAG_ATTRIB_COL], saved_col0[0]); + COPY_4V(v[1]->attrib[FRAG_ATTRIB_COL], saved_col0[1]); + COPY_4V(v[2]->attrib[FRAG_ATTRIB_COL], saved_col0[2]); } } - - if (VB->BackfaceSecondaryColorPtr) { - COPY_4V(v[0]->attrib[FRAG_ATTRIB_COL1], saved_spec[0]); - COPY_4V(v[1]->attrib[FRAG_ATTRIB_COL1], saved_spec[1]); - COPY_4V(v[2]->attrib[FRAG_ATTRIB_COL1], saved_spec[2]); - } } } #endif diff --git a/reactos/dll/opengl/mesa/tnl/t_context.c b/reactos/dll/opengl/mesa/tnl/t_context.c index e4bc08b08c5..e74f3e385a7 100644 --- a/reactos/dll/opengl/mesa/tnl/t_context.c +++ b/reactos/dll/opengl/mesa/tnl/t_context.c @@ -101,10 +101,7 @@ _tnl_InvalidateState( struct gl_context *ctx, GLuint new_state ) */ tnl->render_inputs_bitset = BITFIELD64_BIT(_TNL_ATTRIB_POS); - tnl->render_inputs_bitset |= BITFIELD64_BIT(_TNL_ATTRIB_COLOR0); - - if (_mesa_need_secondary_color(ctx)) - tnl->render_inputs_bitset |= BITFIELD64_BIT(_TNL_ATTRIB_COLOR1); + tnl->render_inputs_bitset |= BITFIELD64_BIT(_TNL_ATTRIB_COLOR); if (ctx->Texture._EnabledCoord) { tnl->render_inputs_bitset |= BITFIELD64_BIT(_TNL_ATTRIB_TEX); diff --git a/reactos/dll/opengl/mesa/tnl/t_context.h b/reactos/dll/opengl/mesa/tnl/t_context.h index de8aa1323b3..81dcf17f46c 100644 --- a/reactos/dll/opengl/mesa/tnl/t_context.h +++ b/reactos/dll/opengl/mesa/tnl/t_context.h @@ -79,12 +79,15 @@ enum { _TNL_ATTRIB_POS = 0, _TNL_ATTRIB_WEIGHT = 1, _TNL_ATTRIB_NORMAL = 2, - _TNL_ATTRIB_COLOR0 = 3, - _TNL_ATTRIB_COLOR1 = 4, - _TNL_ATTRIB_FOG = 5, - _TNL_ATTRIB_COLOR_INDEX = 6, - _TNL_ATTRIB_EDGEFLAG = 7, - _TNL_ATTRIB_TEX = 8, + _TNL_ATTRIB_COLOR = 3, + _TNL_ATTRIB_FOG = 4, + _TNL_ATTRIB_COLOR_INDEX = 5, + _TNL_ATTRIB_EDGEFLAG = 6, + _TNL_ATTRIB_TEX = 7, + /* This is really a VERT_RESULT, not an attrib. Need to fix + * tnl to understand the difference. + */ + _TNL_ATTRIB_POINTSIZE = 8, /* These alias with the generics, but they are not active * concurrently, so it's not a problem. The TNL module @@ -96,50 +99,29 @@ enum { * generic attribute in order to pick up per-vertex material * data. */ - _TNL_ATTRIB_MAT_FRONT_AMBIENT = 10, - _TNL_ATTRIB_MAT_BACK_AMBIENT = 11, - _TNL_ATTRIB_MAT_FRONT_DIFFUSE = 12, - _TNL_ATTRIB_MAT_BACK_DIFFUSE = 13, - _TNL_ATTRIB_MAT_FRONT_SPECULAR = 14, - _TNL_ATTRIB_MAT_BACK_SPECULAR = 15, - _TNL_ATTRIB_MAT_FRONT_EMISSION = 16, - _TNL_ATTRIB_MAT_BACK_EMISSION = 17, - _TNL_ATTRIB_MAT_FRONT_SHININESS = 18, - _TNL_ATTRIB_MAT_BACK_SHININESS = 19, - _TNL_ATTRIB_MAT_FRONT_INDEXES = 20, - _TNL_ATTRIB_MAT_BACK_INDEXES = 21, + _TNL_ATTRIB_MAT_FRONT_AMBIENT = 9, + _TNL_ATTRIB_MAT_BACK_AMBIENT = 10, + _TNL_ATTRIB_MAT_FRONT_DIFFUSE = 11, + _TNL_ATTRIB_MAT_BACK_DIFFUSE = 12, + _TNL_ATTRIB_MAT_FRONT_SPECULAR = 13, + _TNL_ATTRIB_MAT_BACK_SPECULAR = 14, + _TNL_ATTRIB_MAT_FRONT_EMISSION = 15, + _TNL_ATTRIB_MAT_BACK_EMISSION = 16, + _TNL_ATTRIB_MAT_FRONT_SHININESS = 17, + _TNL_ATTRIB_MAT_BACK_SHININESS = 18, + _TNL_ATTRIB_MAT_FRONT_INDEXES = 29, + _TNL_ATTRIB_MAT_BACK_INDEXES = 20, - /* This is really a VERT_RESULT, not an attrib. Need to fix - * tnl to understand the difference. - */ - _TNL_ATTRIB_POINTSIZE = 9, - - _TNL_ATTRIB_MAX = 22 + _TNL_ATTRIB_MAX = 21 } ; -#define _TNL_ATTRIB_GENERIC(n) (_TNL_ATTRIB_GENERIC0 + (n)) - -/* special index used for handing invalid glVertexAttribute() indices */ -#define _TNL_ATTRIB_ERROR (_TNL_ATTRIB_GENERIC15 + 1) - /** * Handy attribute ranges: */ -#define _TNL_FIRST_PROG _TNL_ATTRIB_WEIGHT -#define _TNL_LAST_PROG _TNL_ATTRIB_TEX #define _TNL_FIRST_MAT _TNL_ATTRIB_MAT_FRONT_AMBIENT #define _TNL_LAST_MAT _TNL_ATTRIB_MAT_BACK_INDEXES -/* Number of available texture attributes */ -#define _TNL_NUM_TEX 8 - -/* Number of available generic attributes */ -#define _TNL_NUM_GENERIC 16 - -/* Number of attributes used for evaluators */ -#define _TNL_NUM_EVAL 16 - #define PRIM_BEGIN 0x10 #define PRIM_END 0x20 @@ -184,7 +166,6 @@ struct vertex_buffer GLboolean *EdgeFlag; /* _TNL_BIT_EDGEFLAG */ GLvector4f *BackfaceIndexPtr; GLvector4f *BackfaceColorPtr; - GLvector4f *BackfaceSecondaryColorPtr; const struct _mesa_prim *Primitive; GLuint PrimitiveCount; diff --git a/reactos/dll/opengl/mesa/tnl/t_draw.c b/reactos/dll/opengl/mesa/tnl/t_draw.c index 5314b86037b..c8916e7e8ed 100644 --- a/reactos/dll/opengl/mesa/tnl/t_draw.c +++ b/reactos/dll/opengl/mesa/tnl/t_draw.c @@ -250,7 +250,6 @@ static void bind_inputs( struct gl_context *ctx, /* These should perhaps be part of _TNL_ATTRIB_* */ VB->BackfaceColorPtr = NULL; VB->BackfaceIndexPtr = NULL; - VB->BackfaceSecondaryColorPtr = NULL; /* Clipping and drawing code still requires this to be a packed * array of ubytes which can be written into. TODO: Fix and diff --git a/reactos/dll/opengl/mesa/tnl/t_rasterpos.c b/reactos/dll/opengl/mesa/tnl/t_rasterpos.c index ada9117144a..9d5794c5e3c 100644 --- a/reactos/dll/opengl/mesa/tnl/t_rasterpos.c +++ b/reactos/dll/opengl/mesa/tnl/t_rasterpos.c @@ -104,8 +104,7 @@ static void shade_rastpos(struct gl_context *ctx, const GLfloat vertex[4], const GLfloat normal[3], - GLfloat Rcolor[4], - GLfloat Rspec[4]) + GLfloat Rcolor[4]) { /*const*/ GLfloat (*base)[3] = ctx->Light._BaseColor; const struct gl_light *light; @@ -209,14 +208,8 @@ shade_rastpos(struct gl_context *ctx, GET_SHINE_TAB_ENTRY( ctx->_ShineTable[0], n_dot_h, spec_coef ); if (spec_coef > 1.0e-10) { - if (ctx->Light.Model.ColorControl==GL_SEPARATE_SPECULAR_COLOR) { - ACC_SCALE_SCALAR_3V( specularContrib, spec_coef, + ACC_SCALE_SCALAR_3V( diffuseContrib, spec_coef, light->_MatSpecular[0]); - } - else { - ACC_SCALE_SCALAR_3V( diffuseContrib, spec_coef, - light->_MatSpecular[0]); - } } } } @@ -229,10 +222,6 @@ shade_rastpos(struct gl_context *ctx, Rcolor[1] = CLAMP(diffuseColor[1], 0.0F, 1.0F); Rcolor[2] = CLAMP(diffuseColor[2], 0.0F, 1.0F); Rcolor[3] = CLAMP(diffuseColor[3], 0.0F, 1.0F); - Rspec[0] = CLAMP(specularColor[0], 0.0F, 1.0F); - Rspec[1] = CLAMP(specularColor[1], 0.0F, 1.0F); - Rspec[2] = CLAMP(specularColor[2], 0.0F, 1.0F); - Rspec[3] = CLAMP(specularColor[3], 0.0F, 1.0F); } @@ -421,15 +410,12 @@ _tnl_RasterPos(struct gl_context *ctx, const GLfloat vObj[4]) if (ctx->Light.Enabled) { /* lighting */ shade_rastpos( ctx, vObj, norm, - ctx->Current.RasterColor, - ctx->Current.RasterSecondaryColor ); + ctx->Current.RasterColor ); } else { /* use current color */ COPY_4FV(ctx->Current.RasterColor, - ctx->Current.Attrib[VERT_ATTRIB_COLOR0]); - COPY_4FV(ctx->Current.RasterSecondaryColor, - ctx->Current.Attrib[VERT_ATTRIB_COLOR1]); + ctx->Current.Attrib[VERT_ATTRIB_COLOR]); } /* texture coords */ diff --git a/reactos/dll/opengl/mesa/tnl/t_vb_light.c b/reactos/dll/opengl/mesa/tnl/t_vb_light.c index 19ba0f40332..355e85f6fd3 100644 --- a/reactos/dll/opengl/mesa/tnl/t_vb_light.c +++ b/reactos/dll/opengl/mesa/tnl/t_vb_light.c @@ -50,7 +50,6 @@ struct material_cursor { struct light_stage_data { GLvector4f Input; GLvector4f LitColor[2]; - GLvector4f LitSecondary[2]; light_func *light_func_tab; struct material_cursor mat[MAT_ATTRIB_MAX]; @@ -113,7 +112,7 @@ prepare_materials(struct gl_context *ctx, const GLuint bitmask = ctx->Light.ColorMaterialBitmask; for (i = 0 ; i < MAT_ATTRIB_MAX ; i++) if (bitmask & (1<AttribPtr[_TNL_ATTRIB_MAT_FRONT_AMBIENT + i] = VB->AttribPtr[_TNL_ATTRIB_COLOR0]; + VB->AttribPtr[_TNL_ATTRIB_MAT_FRONT_AMBIENT + i] = VB->AttribPtr[_TNL_ATTRIB_COLOR]; } /* Now, for each material attribute that's tracking vertex color, save @@ -246,9 +245,6 @@ static void validate_lighting( struct gl_context *ctx, return; if (ctx->Light._NeedVertices) { - if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) - tab = _tnl_light_spec_tab; - else tab = _tnl_light_tab; } else { @@ -290,13 +286,9 @@ static GLboolean init_lighting( struct gl_context *ctx, _mesa_vector4f_alloc( &store->Input, 0, size, 32 ); _mesa_vector4f_alloc( &store->LitColor[0], 0, size, 32 ); _mesa_vector4f_alloc( &store->LitColor[1], 0, size, 32 ); - _mesa_vector4f_alloc( &store->LitSecondary[0], 0, size, 32 ); - _mesa_vector4f_alloc( &store->LitSecondary[1], 0, size, 32 ); store->LitColor[0].size = 4; store->LitColor[1].size = 4; - store->LitSecondary[0].size = 3; - store->LitSecondary[1].size = 3; return GL_TRUE; } @@ -312,8 +304,6 @@ static void dtr( struct tnl_pipeline_stage *stage ) _mesa_vector4f_free( &store->Input ); _mesa_vector4f_free( &store->LitColor[0] ); _mesa_vector4f_free( &store->LitColor[1] ); - _mesa_vector4f_free( &store->LitSecondary[0] ); - _mesa_vector4f_free( &store->LitSecondary[1] ); FREE( store ); stage->privatePtr = NULL; } diff --git a/reactos/dll/opengl/mesa/tnl/t_vb_lighttmp.h b/reactos/dll/opengl/mesa/tnl/t_vb_lighttmp.h index aae1d18ff7f..f9a21149b92 100644 --- a/reactos/dll/opengl/mesa/tnl/t_vb_lighttmp.h +++ b/reactos/dll/opengl/mesa/tnl/t_vb_lighttmp.h @@ -28,13 +28,6 @@ */ -#if IDX & LIGHT_TWOSIDE -# define NR_SIDES 2 -#else -# define NR_SIDES 1 -#endif - - /* define TRACE to trace lighting code */ /* #define TRACE 1 */ @@ -60,10 +53,8 @@ static void TAG(light_rgba_spec)( struct gl_context *ctx, const GLfloat *normal = (GLfloat *)VB->AttribPtr[_TNL_ATTRIB_NORMAL]->data; GLfloat (*Fcolor)[4] = (GLfloat (*)[4]) store->LitColor[0].data; - GLfloat (*Fspec)[4] = (GLfloat (*)[4]) store->LitSecondary[0].data; #if IDX & LIGHT_TWOSIDE GLfloat (*Bcolor)[4] = (GLfloat (*)[4]) store->LitColor[1].data; - GLfloat (*Bspec)[4] = (GLfloat (*)[4]) store->LitSecondary[1].data; #endif const GLuint nr = VB->Count; @@ -72,13 +63,11 @@ static void TAG(light_rgba_spec)( struct gl_context *ctx, fprintf(stderr, "%s\n", __FUNCTION__ ); #endif - VB->AttribPtr[_TNL_ATTRIB_COLOR0] = &store->LitColor[0]; - VB->AttribPtr[_TNL_ATTRIB_COLOR1] = &store->LitSecondary[0]; + VB->AttribPtr[_TNL_ATTRIB_COLOR] = &store->LitColor[0]; sumA[0] = ctx->Light.Material.Attrib[MAT_ATTRIB_FRONT_DIFFUSE][3]; #if IDX & LIGHT_TWOSIDE VB->BackfaceColorPtr = &store->LitColor[1]; - VB->BackfaceSecondaryColorPtr = &store->LitSecondary[1]; sumA[1] = ctx->Light.Material.Attrib[MAT_ATTRIB_BACK_DIFFUSE][3]; #endif @@ -220,12 +209,10 @@ static void TAG(light_rgba_spec)( struct gl_context *ctx, } /*loop over lights*/ COPY_3V( Fcolor[j], sum[0] ); - COPY_3V( Fspec[j], spec[0] ); Fcolor[j][3] = sumA[0]; #if IDX & LIGHT_TWOSIDE COPY_3V( Bcolor[j], sum[1] ); - COPY_3V( Bspec[j], spec[1] ); Bcolor[j][3] = sumA[1]; #endif } @@ -259,7 +246,7 @@ static void TAG(light_rgba)( struct gl_context *ctx, fprintf(stderr, "%s\n", __FUNCTION__ ); #endif - VB->AttribPtr[_TNL_ATTRIB_COLOR0] = &store->LitColor[0]; + VB->AttribPtr[_TNL_ATTRIB_COLOR] = &store->LitColor[0]; sumA[0] = ctx->Light.Material.Attrib[MAT_ATTRIB_FRONT_DIFFUSE][3]; #if IDX & LIGHT_TWOSIDE @@ -449,7 +436,7 @@ static void TAG(light_fast_rgba_single)( struct gl_context *ctx, (void) input; /* doesn't refer to Eye or Obj */ - VB->AttribPtr[_TNL_ATTRIB_COLOR0] = &store->LitColor[0]; + VB->AttribPtr[_TNL_ATTRIB_COLOR] = &store->LitColor[0]; #if IDX & LIGHT_TWOSIDE VB->BackfaceColorPtr = &store->LitColor[1]; #endif @@ -559,7 +546,7 @@ static void TAG(light_fast_rgba)( struct gl_context *ctx, sumA[0] = ctx->Light.Material.Attrib[MAT_ATTRIB_FRONT_DIFFUSE][3]; sumA[1] = ctx->Light.Material.Attrib[MAT_ATTRIB_BACK_DIFFUSE][3]; - VB->AttribPtr[_TNL_ATTRIB_COLOR0] = &store->LitColor[0]; + VB->AttribPtr[_TNL_ATTRIB_COLOR] = &store->LitColor[0]; #if IDX & LIGHT_TWOSIDE VB->BackfaceColorPtr = &store->LitColor[1]; #endif @@ -648,4 +635,3 @@ static void TAG(init_light_tab)( void ) #undef TAG #undef IDX -#undef NR_SIDES diff --git a/reactos/dll/opengl/mesa/tnl/t_vertex_generic.c b/reactos/dll/opengl/mesa/tnl/t_vertex_generic.c index f9a3129fa14..b8ef1f7d474 100644 --- a/reactos/dll/opengl/mesa/tnl/t_vertex_generic.c +++ b/reactos/dll/opengl/mesa/tnl/t_vertex_generic.c @@ -1065,8 +1065,7 @@ void _tnl_generic_copy_pv( struct gl_context *ctx, GLuint edst, GLuint esrc ) GLuint j; for (j = 0; j < attr_count; j++) { - if (a[j].attrib == VERT_ATTRIB_COLOR0 || - a[j].attrib == VERT_ATTRIB_COLOR1) { + if (a[j].attrib == VERT_ATTRIB_COLOR) { memcpy( vdst + a[j].vertoffset, vsrc + a[j].vertoffset, @@ -1099,15 +1098,6 @@ void _tnl_generic_interp_extras( struct gl_context *ctx, VB->BackfaceColorPtr->data[out], VB->BackfaceColorPtr->data[in] ); } - - if (VB->BackfaceSecondaryColorPtr) { - assert(VB->BackfaceSecondaryColorPtr->stride == 4 * sizeof(GLfloat)); - - INTERP_3F( t, - VB->BackfaceSecondaryColorPtr->data[dst], - VB->BackfaceSecondaryColorPtr->data[out], - VB->BackfaceSecondaryColorPtr->data[in] ); - } if (VB->BackfaceIndexPtr) { VB->BackfaceIndexPtr->data[dst][0] = LINTERP( t, @@ -1134,11 +1124,6 @@ void _tnl_generic_copy_pv_extras( struct gl_context *ctx, VB->BackfaceColorPtr->data[src] ); } - if (VB->BackfaceSecondaryColorPtr) { - COPY_4FV( VB->BackfaceSecondaryColorPtr->data[dst], - VB->BackfaceSecondaryColorPtr->data[src] ); - } - if (VB->BackfaceIndexPtr) { VB->BackfaceIndexPtr->data[dst][0] = VB->BackfaceIndexPtr->data[src][0]; } diff --git a/reactos/dll/opengl/mesa/vbo/vbo_attrib.h b/reactos/dll/opengl/mesa/vbo/vbo_attrib.h index e0ec4df4ee2..550bd2719fa 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_attrib.h +++ b/reactos/dll/opengl/mesa/vbo/vbo_attrib.h @@ -47,28 +47,27 @@ enum { VBO_ATTRIB_POS = 0, VBO_ATTRIB_WEIGHT = 1, VBO_ATTRIB_NORMAL = 2, - VBO_ATTRIB_COLOR0 = 3, - VBO_ATTRIB_COLOR1 = 4, - VBO_ATTRIB_FOG = 5, - VBO_ATTRIB_INDEX = 6, - VBO_ATTRIB_EDGEFLAG = 7, - VBO_ATTRIB_TEX = 8, - VBO_ATTRIB_POINT_SIZE = 9, + VBO_ATTRIB_COLOR = 3, + VBO_ATTRIB_FOG = 4, + VBO_ATTRIB_INDEX = 5, + VBO_ATTRIB_EDGEFLAG = 6, + VBO_ATTRIB_TEX = 7, + VBO_ATTRIB_POINT_SIZE = 8, - VBO_ATTRIB_MAT_FRONT_AMBIENT = 10, - VBO_ATTRIB_MAT_BACK_AMBIENT = 11, - VBO_ATTRIB_MAT_FRONT_DIFFUSE = 12, - VBO_ATTRIB_MAT_BACK_DIFFUSE = 13, - VBO_ATTRIB_MAT_FRONT_SPECULAR = 14, - VBO_ATTRIB_MAT_BACK_SPECULAR = 15, - VBO_ATTRIB_MAT_FRONT_EMISSION = 16, - VBO_ATTRIB_MAT_BACK_EMISSION = 17, - VBO_ATTRIB_MAT_FRONT_SHININESS = 18, - VBO_ATTRIB_MAT_BACK_SHININESS = 19, - VBO_ATTRIB_MAT_FRONT_INDEXES = 20, - VBO_ATTRIB_MAT_BACK_INDEXES = 21, + VBO_ATTRIB_MAT_FRONT_AMBIENT = 9, + VBO_ATTRIB_MAT_BACK_AMBIENT = 10, + VBO_ATTRIB_MAT_FRONT_DIFFUSE = 11, + VBO_ATTRIB_MAT_BACK_DIFFUSE = 12, + VBO_ATTRIB_MAT_FRONT_SPECULAR = 13, + VBO_ATTRIB_MAT_BACK_SPECULAR = 14, + VBO_ATTRIB_MAT_FRONT_EMISSION = 15, + VBO_ATTRIB_MAT_BACK_EMISSION = 16, + VBO_ATTRIB_MAT_FRONT_SHININESS = 17, + VBO_ATTRIB_MAT_BACK_SHININESS = 18, + VBO_ATTRIB_MAT_FRONT_INDEXES = 19, + VBO_ATTRIB_MAT_BACK_INDEXES = 20, - VBO_ATTRIB_MAX = 22 + VBO_ATTRIB_MAX = 21 }; #define VBO_ATTRIB_FIRST_MATERIAL VBO_ATTRIB_MAT_FRONT_AMBIENT diff --git a/reactos/dll/opengl/mesa/vbo/vbo_attrib_tmp.h b/reactos/dll/opengl/mesa/vbo/vbo_attrib_tmp.h index 2570030b9d5..20800a41568 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_attrib_tmp.h +++ b/reactos/dll/opengl/mesa/vbo/vbo_attrib_tmp.h @@ -197,44 +197,28 @@ static void GLAPIENTRY TAG(Color3f)(GLfloat x, GLfloat y, GLfloat z) { GET_CURRENT_CONTEXT(ctx); - ATTR3F(VBO_ATTRIB_COLOR0, x, y, z); + ATTR3F(VBO_ATTRIB_COLOR, x, y, z); } static void GLAPIENTRY TAG(Color3fv)(const GLfloat * v) { GET_CURRENT_CONTEXT(ctx); - ATTR3FV(VBO_ATTRIB_COLOR0, v); + ATTR3FV(VBO_ATTRIB_COLOR, v); } static void GLAPIENTRY TAG(Color4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { GET_CURRENT_CONTEXT(ctx); - ATTR4F(VBO_ATTRIB_COLOR0, x, y, z, w); + ATTR4F(VBO_ATTRIB_COLOR, x, y, z, w); } static void GLAPIENTRY TAG(Color4fv)(const GLfloat * v) { GET_CURRENT_CONTEXT(ctx); - ATTR4FV(VBO_ATTRIB_COLOR0, v); -} - - - -static void GLAPIENTRY -TAG(SecondaryColor3fEXT)(GLfloat x, GLfloat y, GLfloat z) -{ - GET_CURRENT_CONTEXT(ctx); - ATTR3F(VBO_ATTRIB_COLOR1, x, y, z); -} - -static void GLAPIENTRY -TAG(SecondaryColor3fvEXT)(const GLfloat * v) -{ - GET_CURRENT_CONTEXT(ctx); - ATTR3FV(VBO_ATTRIB_COLOR1, v); + ATTR4FV(VBO_ATTRIB_COLOR, v); } diff --git a/reactos/dll/opengl/mesa/vbo/vbo_exec_api.c b/reactos/dll/opengl/mesa/vbo/vbo_exec_api.c index fc443f76a7e..56e3fea559b 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_exec_api.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_exec_api.c @@ -171,9 +171,9 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec ) /* Colormaterial -- this kindof sucks. */ if (ctx->Light.ColorMaterialEnabled && - exec->vtx.attrsz[VBO_ATTRIB_COLOR0]) { + exec->vtx.attrsz[VBO_ATTRIB_COLOR]) { _mesa_update_color_material(ctx, - ctx->Current.Attrib[VBO_ATTRIB_COLOR0]); + ctx->Current.Attrib[VBO_ATTRIB_COLOR]); } } @@ -871,8 +871,6 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec ) vfmt->FogCoordfvEXT = vbo_FogCoordfvEXT; vfmt->Normal3f = vbo_Normal3f; vfmt->Normal3fv = vbo_Normal3fv; - vfmt->SecondaryColor3fEXT = vbo_SecondaryColor3fEXT; - vfmt->SecondaryColor3fvEXT = vbo_SecondaryColor3fvEXT; vfmt->TexCoord1f = vbo_TexCoord1f; vfmt->TexCoord1fv = vbo_TexCoord1fv; vfmt->TexCoord2f = vbo_TexCoord2f; @@ -927,8 +925,6 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec ) (void) vbo_MultiTexCoord4fv; (void) vbo_Normal3f; (void) vbo_Normal3fv; - (void) vbo_SecondaryColor3fEXT; - (void) vbo_SecondaryColor3fvEXT; (void) vbo_TexCoord1f; (void) vbo_TexCoord1fv; (void) vbo_TexCoord2f; @@ -1168,4 +1164,4 @@ static void reset_attrfv( struct vbo_exec_context *exec ) } exec->vtx.vertex_size = 0; -} \ No newline at end of file +} diff --git a/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c b/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c index f03430fce39..1858771658f 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_exec_array.c @@ -154,121 +154,6 @@ vbo_get_minmax_index(struct gl_context *ctx, } -/** - * Check that element 'j' of the array has reasonable data. - * Map VBO if needed. - * For debugging purposes; not normally used. - */ -static void -check_array_data(struct gl_context *ctx, struct gl_client_array *array, - GLuint attrib, GLuint j) -{ - if (array->Enabled) { - const void *data = array->Ptr; - if (_mesa_is_bufferobj(array->BufferObj)) { - if (!array->BufferObj->Pointer) { - /* need to map now */ - array->BufferObj->Pointer = - ctx->Driver.MapBufferRange(ctx, 0, array->BufferObj->Size, - GL_MAP_READ_BIT, array->BufferObj); - } - data = ADD_POINTERS(data, array->BufferObj->Pointer); - } - switch (array->Type) { - case GL_FLOAT: - { - GLfloat *f = (GLfloat *) ((GLubyte *) data + array->StrideB * j); - GLint k; - for (k = 0; k < array->Size; k++) { - if (IS_INF_OR_NAN(f[k]) || - f[k] >= 1.0e20 || f[k] <= -1.0e10) { - printf("Bad array data:\n"); - printf(" Element[%u].%u = %f\n", j, k, f[k]); - printf(" Array %u at %p\n", attrib, (void* ) array); - printf(" Type 0x%x, Size %d, Stride %d\n", - array->Type, array->Size, array->Stride); - printf(" Address/offset %p in Buffer Object %u\n", - array->Ptr, array->BufferObj->Name); - f[k] = 1.0; /* XXX replace the bad value! */ - } - /*assert(!IS_INF_OR_NAN(f[k]));*/ - } - } - break; - default: - ; - } - } -} - - -/** - * Unmap the buffer object referenced by given array, if mapped. - */ -static void -unmap_array_buffer(struct gl_context *ctx, struct gl_client_array *array) -{ - if (array->Enabled && - _mesa_is_bufferobj(array->BufferObj) && - _mesa_bufferobj_mapped(array->BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, array->BufferObj); - } -} - - -/** - * Examine the array's data for NaNs, etc. - * For debug purposes; not normally used. - */ -static void -check_draw_elements_data(struct gl_context *ctx, GLsizei count, GLenum elemType, - const void *elements, GLint basevertex) -{ - const void *elemMap; - GLint i, k; - - if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) { - elemMap = ctx->Driver.MapBufferRange(ctx, 0, - ctx->Array.ElementArrayBufferObj->Size, - GL_MAP_READ_BIT, - ctx->Array.ElementArrayBufferObj); - elements = ADD_POINTERS(elements, elemMap); - } - - for (i = 0; i < count; i++) { - GLuint j; - - /* j = element[i] */ - switch (elemType) { - case GL_UNSIGNED_BYTE: - j = ((const GLubyte *) elements)[i]; - break; - case GL_UNSIGNED_SHORT: - j = ((const GLushort *) elements)[i]; - break; - case GL_UNSIGNED_INT: - j = ((const GLuint *) elements)[i]; - break; - default: - assert(0); - } - - /* check element j of each enabled array */ - for (k = 0; k < Elements(ctx->Array.VertexAttrib); k++) { - check_array_data(ctx, &ctx->Array.VertexAttrib[k], k, j); - } - } - - if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) { - ctx->Driver.UnmapBuffer(ctx, ctx->Array.ElementArrayBufferObj); - } - - for (k = 0; k < Elements(ctx->Array.VertexAttrib); k++) { - unmap_array_buffer(ctx, &ctx->Array.VertexAttrib[k]); - } -} - - /** * Check array data, looking for NaNs, etc. */ @@ -593,82 +478,6 @@ vbo_validated_drawrangeelements(struct gl_context *ctx, GLenum mode, index_bounds_valid, start, end ); } -/** - * Called by glDrawRangeElements() in immediate mode. - */ -static void GLAPIENTRY -vbo_exec_DrawRangeElements(GLenum mode, - GLuint start, GLuint end, - GLsizei count, GLenum type, - const GLvoid *indices) -{ - static GLuint warnCount = 0; - GLboolean index_bounds_valid = GL_TRUE; - GET_CURRENT_CONTEXT(ctx); - - if (MESA_VERBOSE & VERBOSE_DRAW) - _mesa_debug(ctx, - "glDrawRangeElements(%s, %u, %u, %d, %s, %p)\n", - _mesa_lookup_enum_by_nr(mode), start, end, count, - _mesa_lookup_enum_by_nr(type), indices); - - if (!_mesa_validate_DrawRangeElements( ctx, mode, start, end, count, - type, indices )) - return; - - if (end < start || - end >= ctx->Array._MaxElement) { - /* The application requested we draw using a range of indices that's - * outside the bounds of the current VBO. This is invalid and appears - * to give undefined results. The safest thing to do is to simply - * ignore the range, in case the application botched their range tracking - * but did provide valid indices. Also issue a warning indicating that - * the application is broken. - */ - if (warnCount++ < 10) { - _mesa_warning(ctx, "glDrawRangeElements(start %u, end %u, " - "count %d, type 0x%x, indices=%p):\n" - "\trange is outside VBO bounds (max=%u); ignoring.\n" - "\tThis should be fixed in the application.", - start, end, count, type, indices, - ctx->Array._MaxElement - 1); - } - index_bounds_valid = GL_FALSE; - } - - /* NOTE: It's important that 'end' is a reasonable value. - * in _tnl_draw_prims(), we use end to determine how many vertices - * to transform. If it's too large, we can unnecessarily split prims - * or we can read/write out of memory in several different places! - */ - - /* Catch/fix some potential user errors */ - if (type == GL_UNSIGNED_BYTE) { - start = MIN2(start, 0xff); - end = MIN2(end, 0xff); - } - else if (type == GL_UNSIGNED_SHORT) { - start = MIN2(start, 0xffff); - end = MIN2(end, 0xffff); - } - - if (0) { - printf("glDraw[Range]Elements" - "(start %u, end %u, type 0x%x, count %d) ElemBuf %u\n", - start, end, type, count, - ctx->Array.ElementArrayBufferObj->Name); - } - -#if 0 - check_draw_elements_data(ctx, count, type, indices); -#else - (void) check_draw_elements_data; -#endif - - vbo_validated_drawrangeelements(ctx, mode, index_bounds_valid, start, end, - count, type, indices, 1); -} - /** * Called by glDrawElements() in immediate mode. @@ -701,7 +510,6 @@ vbo_exec_array_init( struct vbo_exec_context *exec ) { exec->vtxfmt.DrawArrays = vbo_exec_DrawArrays; exec->vtxfmt.DrawElements = vbo_exec_DrawElements; - exec->vtxfmt.DrawRangeElements = vbo_exec_DrawRangeElements; } @@ -733,11 +541,3 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, vbo_exec_DrawElements(mode, count, type, indices); } - -void GLAPIENTRY -_mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, - GLenum type, const GLvoid *indices) -{ - vbo_exec_DrawRangeElements(mode, start, end, count, type, indices); -} - diff --git a/reactos/dll/opengl/mesa/vbo/vbo_exec_eval.c b/reactos/dll/opengl/mesa/vbo/vbo_exec_eval.c index fd1f6792674..0c0aa386c60 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_exec_eval.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_exec_eval.c @@ -72,10 +72,10 @@ void vbo_exec_eval_update( struct vbo_exec_context *exec ) } if (ctx->Eval.Map1Color4) - set_active_eval1( exec, VBO_ATTRIB_COLOR0, 4, &ctx->EvalMap.Map1Color4 ); + set_active_eval1( exec, VBO_ATTRIB_COLOR, 4, &ctx->EvalMap.Map1Color4 ); if (ctx->Eval.Map2Color4) - set_active_eval2( exec, VBO_ATTRIB_COLOR0, 4, &ctx->EvalMap.Map2Color4 ); + set_active_eval2( exec, VBO_ATTRIB_COLOR, 4, &ctx->EvalMap.Map2Color4 ); if (ctx->Eval.Map1TextureCoord4) set_active_eval1( exec, VBO_ATTRIB_TEX, 4, &ctx->EvalMap.Map1Texture4 ); diff --git a/reactos/dll/opengl/mesa/vbo/vbo_noop.c b/reactos/dll/opengl/mesa/vbo/vbo_noop.c index edef84e327e..dffed25676d 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_noop.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_noop.c @@ -87,16 +87,6 @@ _mesa_noop_Color3fv(const GLfloat * v) { } -static void GLAPIENTRY -_mesa_noop_SecondaryColor3fEXT(GLfloat a, GLfloat b, GLfloat c) -{ -} - -static void GLAPIENTRY -_mesa_noop_SecondaryColor3fvEXT(const GLfloat * v) -{ -} - static void GLAPIENTRY _mesa_noop_TexCoord1f(GLfloat a) { @@ -275,15 +265,6 @@ _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type, { } - -static void GLAPIENTRY -_mesa_noop_DrawRangeElements(GLenum mode, - GLuint start, GLuint end, - GLsizei count, GLenum type, - const GLvoid * indices) -{ -} - static void GLAPIENTRY _mesa_noop_EvalMesh1(GLenum mode, GLint i1, GLint i2) { @@ -325,8 +306,6 @@ _mesa_noop_vtxfmt_init(GLvertexformat * vfmt) vfmt->Materialfv = _mesa_noop_Materialfv; vfmt->Normal3f = _mesa_noop_Normal3f; vfmt->Normal3fv = _mesa_noop_Normal3fv; - vfmt->SecondaryColor3fEXT = _mesa_noop_SecondaryColor3fEXT; - vfmt->SecondaryColor3fvEXT = _mesa_noop_SecondaryColor3fvEXT; vfmt->TexCoord1f = _mesa_noop_TexCoord1f; vfmt->TexCoord1fv = _mesa_noop_TexCoord1fv; vfmt->TexCoord2f = _mesa_noop_TexCoord2f; @@ -354,7 +333,6 @@ _mesa_noop_vtxfmt_init(GLvertexformat * vfmt) vfmt->DrawArrays = _mesa_noop_DrawArrays; vfmt->DrawElements = _mesa_noop_DrawElements; - vfmt->DrawRangeElements = _mesa_noop_DrawRangeElements; } diff --git a/reactos/dll/opengl/mesa/vbo/vbo_save_api.c b/reactos/dll/opengl/mesa/vbo/vbo_save_api.c index f0585ee4641..69bdbe4df8d 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_save_api.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_save_api.c @@ -950,21 +950,6 @@ _save_DrawElements(GLenum mode, GLsizei count, GLenum type, } -static void GLAPIENTRY -_save_DrawRangeElements(GLenum mode, GLuint start, GLuint end, - GLsizei count, GLenum type, const GLvoid * indices) -{ - GET_CURRENT_CONTEXT(ctx); - (void) mode; - (void) start; - (void) end; - (void) count; - (void) type; - (void) indices; - _mesa_compile_error(ctx, GL_INVALID_OPERATION, "glDrawRangeElements"); -} - - static void GLAPIENTRY _save_DrawArrays(GLenum mode, GLint start, GLsizei count) { @@ -1114,25 +1099,6 @@ _save_OBE_DrawElements(GLenum mode, GLsizei count, GLenum type, } -static void GLAPIENTRY -_save_OBE_DrawRangeElements(GLenum mode, GLuint start, GLuint end, - GLsizei count, GLenum type, - const GLvoid * indices) -{ - GET_CURRENT_CONTEXT(ctx); - struct vbo_save_context *save = &vbo_context(ctx)->save; - - if (!_mesa_validate_DrawRangeElements(ctx, mode, - start, end, count, type, indices)) - return; - - if (save->out_of_memory) - return; - - _save_OBE_DrawElements(mode, count, type, indices); -} - - static void _save_vtxfmt_init(struct gl_context *ctx) { @@ -1155,8 +1121,6 @@ _save_vtxfmt_init(struct gl_context *ctx) vfmt->Materialfv = _save_Materialfv; vfmt->Normal3f = _save_Normal3f; vfmt->Normal3fv = _save_Normal3fv; - vfmt->SecondaryColor3fEXT = _save_SecondaryColor3fEXT; - vfmt->SecondaryColor3fvEXT = _save_SecondaryColor3fvEXT; vfmt->TexCoord1f = _save_TexCoord1f; vfmt->TexCoord1fv = _save_TexCoord1fv; vfmt->TexCoord2f = _save_TexCoord2f; @@ -1194,7 +1158,6 @@ _save_vtxfmt_init(struct gl_context *ctx) vfmt->Rectf = _save_Rectf; vfmt->DrawArrays = _save_DrawArrays; vfmt->DrawElements = _save_DrawElements; - vfmt->DrawRangeElements = _save_DrawRangeElements; } @@ -1395,7 +1358,6 @@ vbo_save_api_init(struct vbo_save_context *save) ctx->ListState.ListVtxfmt.Rectf = _save_OBE_Rectf; ctx->ListState.ListVtxfmt.DrawArrays = _save_OBE_DrawArrays; ctx->ListState.ListVtxfmt.DrawElements = _save_OBE_DrawElements; - ctx->ListState.ListVtxfmt.DrawRangeElements = _save_OBE_DrawRangeElements; _mesa_install_save_vtxfmt(ctx, &ctx->ListState.ListVtxfmt); } diff --git a/reactos/dll/opengl/mesa/vbo/vbo_save_draw.c b/reactos/dll/opengl/mesa/vbo/vbo_save_draw.c index 71f66bbd0f4..364d8bf3cf8 100644 --- a/reactos/dll/opengl/mesa/vbo/vbo_save_draw.c +++ b/reactos/dll/opengl/mesa/vbo/vbo_save_draw.c @@ -96,7 +96,7 @@ _playback_copy_to_current(struct gl_context *ctx, /* Colormaterial -- this kindof sucks. */ if (ctx->Light.ColorMaterialEnabled) { - _mesa_update_color_material(ctx, ctx->Current.Attrib[VBO_ATTRIB_COLOR0]); + _mesa_update_color_material(ctx, ctx->Current.Attrib[VBO_ATTRIB_COLOR]); } /* CurrentExecPrimitive diff --git a/reactos/dll/opengl/mesa/x86/gen_matypes.c b/reactos/dll/opengl/mesa/x86/gen_matypes.c index 2eaea8841a8..9d8a0e8cdb7 100644 --- a/reactos/dll/opengl/mesa/x86/gen_matypes.c +++ b/reactos/dll/opengl/mesa/x86/gen_matypes.c @@ -229,7 +229,6 @@ int main( int argc, char **argv ) OFFSET( "LIGHT_MODEL_AMBIENT ", struct gl_lightmodel, Ambient ); OFFSET( "LIGHT_MODEL_LOCAL_VIEWER ", struct gl_lightmodel, LocalViewer ); OFFSET( "LIGHT_MODEL_TWO_SIDE ", struct gl_lightmodel, TwoSide ); - OFFSET( "LIGHT_MODEL_COLOR_CONTROL ", struct gl_lightmodel, ColorControl ); printf( "\n" ); diff --git a/reactos/dll/opengl/mesa/x86/mmx.h b/reactos/dll/opengl/mesa/x86/mmx.h index 74e9979d312..53a63f321c9 100644 --- a/reactos/dll/opengl/mesa/x86/mmx.h +++ b/reactos/dll/opengl/mesa/x86/mmx.h @@ -41,16 +41,6 @@ _mesa_mmx_blend_add( struct gl_context *ctx, GLuint n, const GLubyte mask[], GLvoid *rgba, const GLvoid *dest, GLenum chanType ); -extern void _ASMAPI -_mesa_mmx_blend_min( struct gl_context *ctx, GLuint n, const GLubyte mask[], - GLvoid *rgba, const GLvoid *dest, - GLenum chanType ); - -extern void _ASMAPI -_mesa_mmx_blend_max( struct gl_context *ctx, GLuint n, const GLubyte mask[], - GLvoid *rgba, const GLvoid *dest, - GLenum chanType ); - extern void _ASMAPI _mesa_mmx_blend_modulate( struct gl_context *ctx, GLuint n, const GLubyte mask[], GLvoid *rgba, const GLvoid *dest, diff --git a/reactos/dll/opengl/mesa/x86/mmx_blend.S b/reactos/dll/opengl/mesa/x86/mmx_blend.S index eeaf43ea937..1831f220107 100644 --- a/reactos/dll/opengl/mesa/x86/mmx_blend.S +++ b/reactos/dll/opengl/mesa/x86/mmx_blend.S @@ -304,70 +304,6 @@ TWO(MOVQ ( MM1, REGIND(rgba) )) #include "mmx_blendtmp.h" -/* Blend min function - */ - -#define TAG(x) CONCAT(x,_min) -#define LLTAG(x) LLBL2(x,_min) - -/* Kevin F. Quinn 2nd July 2006 - * Replace data segment constants with text-segment instructions -#define INIT \ - MOVQ ( CONTENT(const_80), MM7 ) - */ -#define INIT \ - PUSH_L ( CONST(const_80_h) ) /* 0x80| 0x80| 0x80| 0x80| 0x80| 0x80| 0x80| 0x80*/ ;\ - PUSH_L ( CONST(const_80_l) ) ;\ - MOVQ ( REGIND(ESP), MM7 ) ;\ - ADD_L ( CONST(8), ESP) - -#define MAIN( rgba, dest ) \ - GMB_LOAD( rgba, dest, MM1, MM2 ) ;\ - MOVQ ( MM1, MM3 ) ;\ - MOVQ ( MM2, MM4 ) ;\ - PXOR ( MM7, MM3 ) /* unsigned -> signed */ ;\ - PXOR ( MM7, MM4 ) /* unsigned -> signed */ ;\ - PCMPGTB ( MM3, MM4 ) /* q > p ? 0xff : 0x00 */ ;\ - PAND ( MM4, MM1 ) /* q > p ? p : 0 */ ;\ - PANDN ( MM2, MM4 ) /* q > p ? 0 : q */ ;\ - POR ( MM1, MM4 ) /* q > p ? p : q */ ;\ - GMB_STORE( rgba, MM4 ) - -#include "mmx_blendtmp.h" - - -/* Blend max function - */ - -#define TAG(x) CONCAT(x,_max) -#define LLTAG(x) LLBL2(x,_max) - -/* Kevin F. Quinn 2nd July 2006 - * Replace data segment constants with text-segment instructions -#define INIT \ - MOVQ ( CONTENT(const_80), MM7 ) - */ -#define INIT \ - PUSH_L ( CONST(const_80_l) ) /* 0x80| 0x80| 0x80| 0x80| 0x80| 0x80| 0x80| 0x80*/ ;\ - PUSH_L ( CONST(const_80_h) ) ;\ - MOVQ ( REGIND(ESP), MM7 ) ;\ - ADD_L ( CONST(8), ESP) - -#define MAIN( rgba, dest ) \ - GMB_LOAD( rgba, dest, MM1, MM2 ) ;\ - MOVQ ( MM1, MM3 ) ;\ - MOVQ ( MM2, MM4 ) ;\ - PXOR ( MM7, MM3 ) /* unsigned -> signed */ ;\ - PXOR ( MM7, MM4 ) /* unsigned -> signed */ ;\ - PCMPGTB ( MM3, MM4 ) /* q > p ? 0xff : 0x00 */ ;\ - PAND ( MM4, MM2 ) /* q > p ? q : 0 */ ;\ - PANDN ( MM1, MM4 ) /* q > p ? 0 : p */ ;\ - POR ( MM2, MM4 ) /* q > p ? p : q */ ;\ - GMB_STORE( rgba, MM4 ) - -#include "mmx_blendtmp.h" - - /* Blend modulate function */ From b6f7dca618b502a76422b634ff38288f4e8c53e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 18 Jun 2014 17:24:18 +0000 Subject: [PATCH 102/120] [OPENGL32] - Fix bitfields for 16-bits pixel format svn path=/trunk/; revision=63614 --- reactos/dll/opengl/opengl32/swimpl.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/reactos/dll/opengl/opengl32/swimpl.c b/reactos/dll/opengl/opengl32/swimpl.c index 3fb164f85dd..a0e75c24bf9 100644 --- a/reactos/dll/opengl/opengl32/swimpl.c +++ b/reactos/dll/opengl/opengl32/swimpl.c @@ -51,7 +51,7 @@ static const struct { MESA_FORMAT_RGB888, 24, 8, 0, 0x00000000, 8, 8, 0x00000000, 8, 16, 0x00000000, 0, 0, 0x00000000, 16, 16, 8, BI_RGB }, // { MESA_FORMAT_BGR888, 24, 8, 16, 8, 8, 8, 0, 0, 0, 16, 32, 8 }, // { MESA_FORMAT_BGR888, 24, 8, 16, 8, 8, 8, 0, 0, 0, 16, 16, 8 }, - { MESA_FORMAT_RGB565, 16, 5, 0, 0x00000000, 6, 5, 0x00000000, 5, 11, 0x00000000, 0, 0, 0x00000000, 16, 32, 8, BI_BITFIELDS }, + { MESA_FORMAT_RGB565, 16, 5, 0, 0x0000F800, 6, 5, 0x000007E0, 5, 11, 0x0000001F, 0, 0, 0x00000000, 16, 32, 8, BI_BITFIELDS }, { MESA_FORMAT_RGB565, 16, 5, 0, 0x0000F800, 6, 5, 0x000007E0, 5, 11, 0x0000001F, 0, 0, 0x00000000, 16, 16, 8, BI_BITFIELDS }, }; @@ -361,15 +361,15 @@ INT sw_DescribePixelFormat(HDC hdc, INT format, UINT size, PIXELFORMATDESCRIPTOR INT nb_win_compat = 0, start_win_compat = 0; INT ret = sizeof(pixel_formats)/sizeof(pixel_formats[0]); - if(GetObjectType(hdc) == OBJ_DC) + if (GetObjectType(hdc) == OBJ_DC) { /* Find the window compatible formats */ INT bpp = GetDeviceCaps(hdc, BITSPIXEL); - for(index = 0; indexformat_index = index_from_format(dc_data, format, &doubleBuffered); + TRACE("Using format %u - double buffered: %x.\n", fb->format_index, doubleBuffered); fb->flags = doubleBuffered ? SW_FB_DOUBLEBUFFERED : 0; /* Set the bitmap info describing the framebuffer */ fb->bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); @@ -663,6 +667,9 @@ sw_call_window_proc( * of the client area via GetClientRect. */ RECT client_rect; UINT width, height; + + TRACE("Got WM_WINDOWPOSCHANGED\n"); + GetClientRect(pParams->hwnd, &client_rect); width = client_rect.right - client_rect.left; height = client_rect.bottom - client_rect.top; From aa7c4d673d9b467b681bf8cd44fad5a4a7c14afc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 18 Jun 2014 17:28:14 +0000 Subject: [PATCH 103/120] [OPENGL32] - fix an off-by-one error svn path=/trunk/; revision=63615 --- reactos/dll/opengl/opengl32/swimpl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/dll/opengl/opengl32/swimpl.c b/reactos/dll/opengl/opengl32/swimpl.c index a0e75c24bf9..d2957c33460 100644 --- a/reactos/dll/opengl/opengl32/swimpl.c +++ b/reactos/dll/opengl/opengl32/swimpl.c @@ -439,7 +439,7 @@ BOOL sw_SetPixelFormat(HDC hdc, struct wgl_dc_data* dc_data, INT format) TRACE("OpenGL software implementation START!\n"); /* allocate our structure */ - fb = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, FIELD_OFFSET(struct sw_framebuffer, bmi.bmiColors[2])); + fb = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, FIELD_OFFSET(struct sw_framebuffer, bmi.bmiColors[3])); if(!fb) { ERR("HeapAlloc FAILED!\n"); From c75e046831f743f8ad8b6f8e98d7121f42f63558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 18 Jun 2014 18:32:46 +0000 Subject: [PATCH 104/120] [NTOS/MM] - When freeing virtual memory, correctly set the ending address of the shrunk memory area. CORE-7467 svn path=/trunk/; revision=63616 --- reactos/ntoskrnl/mm/ARM3/virtual.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/mm/ARM3/virtual.c b/reactos/ntoskrnl/mm/ARM3/virtual.c index fa3e2fcc72b..44dc2ed155e 100644 --- a/reactos/ntoskrnl/mm/ARM3/virtual.c +++ b/reactos/ntoskrnl/mm/ARM3/virtual.c @@ -5336,7 +5336,7 @@ NtFreeVirtualMemory(IN HANDLE ProcessHandle, ASSERT(Vad->StartingVpn << PAGE_SHIFT == (ULONG_PTR)MemoryArea->StartingAddress); ASSERT((Vad->EndingVpn + 1) << PAGE_SHIFT == (ULONG_PTR)MemoryArea->EndingAddress); Vad->EndingVpn = ((ULONG_PTR)StartingAddress - 1) >> PAGE_SHIFT; - MemoryArea->EndingAddress = (PVOID)(((Vad->EndingVpn + 1) << PAGE_SHIFT) - 1); + MemoryArea->EndingAddress = (PVOID)(StartingAddress); } else { From 36de38c3a606d933042019f086117643337f53cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Thu, 19 Jun 2014 08:18:25 +0000 Subject: [PATCH 105/120] [OPENGL32/MESA] - Report OpenGL version 1.1 svn path=/trunk/; revision=63617 --- reactos/dll/opengl/mesa/main/version.c | 77 ++++---------------------- 1 file changed, 12 insertions(+), 65 deletions(-) diff --git a/reactos/dll/opengl/mesa/main/version.c b/reactos/dll/opengl/mesa/main/version.c index 63fe5b79300..89c912cbd1b 100644 --- a/reactos/dll/opengl/mesa/main/version.c +++ b/reactos/dll/opengl/mesa/main/version.c @@ -56,75 +56,22 @@ override_version(struct gl_context *ctx, GLuint *major, GLuint *minor) static void compute_version(struct gl_context *ctx) { - GLuint major, minor; - static const int max = 100; + /* report openGL 1.1 */ + ctx->VersionMajor = 1; + ctx->VersionMinor = 1; - const GLboolean ver_1_3 = (ctx->Extensions.ARB_texture_cube_map && - ctx->Extensions.ARB_texture_env_combine && - ctx->Extensions.ARB_texture_env_dot3); - const GLboolean ver_1_4 = (ver_1_3 && - ctx->Extensions.ARB_texture_env_crossbar && - ctx->Extensions.ARB_window_pos && - ctx->Extensions.EXT_blend_color && - ctx->Extensions.EXT_blend_func_separate && - ctx->Extensions.EXT_blend_minmax && - ctx->Extensions.EXT_fog_coord && - ctx->Extensions.EXT_point_parameters && - ctx->Extensions.EXT_secondary_color); - const GLboolean ver_1_5 = (ver_1_4 && - ctx->Extensions.EXT_shadow_funcs); - const GLboolean ver_2_0 = (ver_1_5 && - ctx->Extensions.ARB_point_sprite && - ctx->Extensions.EXT_blend_equation_separate); - const GLboolean ver_2_1 = (ver_2_0); - const GLboolean ver_3_0 = (ver_2_1 && - ctx->Extensions.ARB_map_buffer_range); + override_version(ctx, &ctx->VersionMajor, &ctx->VersionMinor); - - if (ver_3_0) { - major = 3; - minor = 0; - } - else if (ver_2_1) { - major = 2; - minor = 1; - } - else if (ver_2_0) { - major = 2; - minor = 0; - } - else if (ver_1_5) { - major = 1; - minor = 5; - } - else if (ver_1_4) { - major = 1; - minor = 4; - } - else if (ver_1_3) { - major = 1; - minor = 3; - } - else { - major = 1; - minor = 2; - } - - ctx->VersionMajor = major; - ctx->VersionMinor = minor; - - override_version(ctx, &ctx->VersionMajor, &ctx->VersionMinor); - - ctx->VersionString = (char *) malloc(max); - if (ctx->VersionString) { - _mesa_snprintf(ctx->VersionString, max, - "%u.%u Mesa " MESA_VERSION_STRING + ctx->VersionString = (char *) malloc(20); + if (ctx->VersionString) { + _mesa_snprintf(ctx->VersionString, 20, + "%u.%u Mesa " MESA_VERSION_STRING #ifdef MESA_GIT_SHA1 - " (" MESA_GIT_SHA1 ")" + " (" MESA_GIT_SHA1 ")" #endif - , - ctx->VersionMajor, ctx->VersionMinor); - } + , + ctx->VersionMajor, ctx->VersionMinor); + } } /** From 7fade28911658c90b086e78dc2f474b2f9592af4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Thu, 19 Jun 2014 10:50:47 +0000 Subject: [PATCH 106/120] [NTOS/MM] - Do not mark VAD as private memory when creating a MEMORY_AREA, as this is never the case (only used for sections) - Add a few DPRINTS. CORE-8140 #resolve fixed with r63618 svn path=/trunk/; revision=63618 --- reactos/ntoskrnl/mm/ARM3/virtual.c | 7 +++++++ reactos/ntoskrnl/mm/marea.c | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/mm/ARM3/virtual.c b/reactos/ntoskrnl/mm/ARM3/virtual.c index 44dc2ed155e..fc8762971a4 100644 --- a/reactos/ntoskrnl/mm/ARM3/virtual.c +++ b/reactos/ntoskrnl/mm/ARM3/virtual.c @@ -4398,6 +4398,9 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle, } } + DPRINT("NtAllocateVirtualMemory: Process 0x%p, Address 0x%p, Zerobits %lu , RegionSize 0x%x, Allocation type 0x%x, Protect 0x%x.\n", + Process, PBaseAddress, ZeroBits, PRegionSize, AllocationType, Protect); + // // Check for large page allocations and make sure that the required privilege // is being held, before attempting to handle them. @@ -4656,6 +4659,7 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle, // } _SEH2_END; + DPRINT("Reserved %x bytes at %p.\n", PRegionSize, StartingAddress); return STATUS_SUCCESS; } @@ -5153,6 +5157,9 @@ NtFreeVirtualMemory(IN HANDLE ProcessHandle, } } + DPRINT("NtFreeVirtualMemory: Process 0x%p, Adress 0x%p, size 0x%x, FreeType %x.\n", + Process, PBaseAddress, PRegionSize, FreeType); + // // Lock the address space // diff --git a/reactos/ntoskrnl/mm/marea.c b/reactos/ntoskrnl/mm/marea.c index 6ea4db48075..12a7afae3ac 100644 --- a/reactos/ntoskrnl/mm/marea.c +++ b/reactos/ntoskrnl/mm/marea.c @@ -399,7 +399,6 @@ MmInsertMemoryArea( Vad->EndingVpn = Vad->StartingVpn; } Vad->u.VadFlags.Spare = 1; - Vad->u.VadFlags.PrivateMemory = 1; Vad->u.VadFlags.Protection = MiMakeProtectionMask(marea->Protect); /* Insert the VAD */ From 988dbfce59403f003988d344a1f23520bc34d4f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Thu, 19 Jun 2014 11:24:48 +0000 Subject: [PATCH 107/120] [KSECDD] - Really export symbols - Properly stub InitSecurityInterfaceW - Install the driver svn path=/trunk/; revision=63619 --- reactos/boot/bootdata/txtsetup.sif | 1 + reactos/drivers/crypto/ksecdd/CMakeLists.txt | 4 ++-- reactos/drivers/crypto/ksecdd/stubs.c | 9 +++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/reactos/boot/bootdata/txtsetup.sif b/reactos/boot/bootdata/txtsetup.sif index a721eea20ad..9379f5e82f6 100644 --- a/reactos/boot/bootdata/txtsetup.sif +++ b/reactos/boot/bootdata/txtsetup.sif @@ -60,6 +60,7 @@ pcmcia.sys=,,,,,,,,,,,,4 swenum.sys=,,,,,,,,,,,,4 ntdll.dll=,,,,,,,,,,,,2 wmilib.sys=,,,,,,,,,,,,4 +ksecdd.sys=,,,,,,,,,,,,4 [HardwareIdsDatabase] ;*PNP0A00 = isapnp diff --git a/reactos/drivers/crypto/ksecdd/CMakeLists.txt b/reactos/drivers/crypto/ksecdd/CMakeLists.txt index 1ffccb4c892..790ca1cf705 100644 --- a/reactos/drivers/crypto/ksecdd/CMakeLists.txt +++ b/reactos/drivers/crypto/ksecdd/CMakeLists.txt @@ -1,7 +1,6 @@ spec2def(ksecdd.sys ksecdd.spec) - include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/drivers/ksecdd ${REACTOS_SOURCE_DIR}/lib/cryptlib) @@ -11,7 +10,8 @@ list(APPEND SOURCE dispatch.c random.c stubs.c - ksecdd.rc) + ksecdd.rc + ${CMAKE_CURRENT_BINARY_DIR}/ksecdd.def) add_library(ksecdd SHARED ${SOURCE}) target_link_libraries(ksecdd cryptlib pseh) diff --git a/reactos/drivers/crypto/ksecdd/stubs.c b/reactos/drivers/crypto/ksecdd/stubs.c index 1a031e2f1ca..176b4acb9f9 100644 --- a/reactos/drivers/crypto/ksecdd/stubs.c +++ b/reactos/drivers/crypto/ksecdd/stubs.c @@ -208,6 +208,15 @@ InitializeSecurityContextW( return 0; } +PSecurityFunctionTableW +SEC_ENTRY +InitSecurityInterfaceW(void) +{ + + UNIMPLEMENTED_DBGBREAK(); + return NULL; +} + VOID SEC_ENTRY KSecRegisterSecurityProvider(VOID) From 73f4d1ff005b25341c46b9b75b3146b84a6bd174 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sat, 21 Jun 2014 11:07:51 +0000 Subject: [PATCH 108/120] [WIN32K] - Pass a boolean argument to RtlEqualUnicodeString svn path=/trunk/; revision=63624 --- reactos/win32ss/gdi/eng/ldevobj.c | 2 +- reactos/win32ss/user/ntuser/desktop.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/win32ss/gdi/eng/ldevobj.c b/reactos/win32ss/gdi/eng/ldevobj.c index ff1927d4ebc..2dcac3fb704 100644 --- a/reactos/win32ss/gdi/eng/ldevobj.c +++ b/reactos/win32ss/gdi/eng/ldevobj.c @@ -382,7 +382,7 @@ EngLoadImageEx( if (pldev->pGdiDriverInfo) { /* Check for match (case insensative) */ - if (RtlEqualUnicodeString(&pldev->pGdiDriverInfo->DriverName, &strDriverName, 1)) + if (RtlEqualUnicodeString(&pldev->pGdiDriverInfo->DriverName, &strDriverName, TRUE)) { /* Image found in LDEV list */ break; diff --git a/reactos/win32ss/user/ntuser/desktop.c b/reactos/win32ss/user/ntuser/desktop.c index ff2e1de5837..835af417c11 100644 --- a/reactos/win32ss/user/ntuser/desktop.c +++ b/reactos/win32ss/user/ntuser/desktop.c @@ -72,7 +72,7 @@ IntDesktopObjectParse(IN PVOID ParseObject, /* Compare the name */ if (RtlEqualUnicodeString(RemainingName, &DesktopName, - (Attributes & OBJ_CASE_INSENSITIVE))) + (Attributes & OBJ_CASE_INSENSITIVE) != 0)) { /* We found a match. Did this come from a create? */ if (Context) From adc64f21ca17d13e24d0e723481b52bf33d0e306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 22 Jun 2014 09:33:46 +0000 Subject: [PATCH 109/120] =?UTF-8?q?[ODBCCP32]=20The=20control=20panel=20au?= =?UTF-8?q?tomatically=20runs=20this=20applet=20without=20clicking=20on=20?= =?UTF-8?q?it,=20fix=20this=20wrong=20behaviour.=20Patch=20by=20Lee=20Schr?= =?UTF-8?q?=C3=B6der=20CORE-8323=20#resolve=20#comment=20Thanks=20:)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/trunk/; revision=63625 --- reactos/dll/cpl/odbccp32/odbccp32.c | 65 +++++++++++++++++------------ 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/reactos/dll/cpl/odbccp32/odbccp32.c b/reactos/dll/cpl/odbccp32/odbccp32.c index ce77120626b..194ea052467 100644 --- a/reactos/dll/cpl/odbccp32/odbccp32.c +++ b/reactos/dll/cpl/odbccp32/odbccp32.c @@ -19,36 +19,47 @@ CPlApplet(HWND hwndCpl, LPARAM lParam1, LPARAM lParam2) { - if (ODBCProc == NULL) - { - TCHAR szBuffer[MAX_PATH]; + switch (uMsg) + { + case CPL_INIT: + return TRUE; - if (ExpandEnvironmentStrings(_T("%systemroot%\\system32\\odbccp32.dll"), - szBuffer, - sizeof(szBuffer) / sizeof(TCHAR)) > 0) - { - hLibrary = LoadLibrary(szBuffer); - if (hLibrary) - { - ODBCProc = (APPLET_PROC)GetProcAddress(hLibrary, "ODBCCPlApplet"); - } - } - } + case CPL_DBLCLK: + { + if (ODBCProc == NULL) + { + TCHAR szBuffer[MAX_PATH]; - if (ODBCProc) - { - return ODBCProc(hwndCpl, uMsg, lParam1, lParam2); - } - else - { - if(hLibrary) - { - FreeLibrary(hLibrary); - } + if (ExpandEnvironmentStrings(_T("%systemroot%\\system32\\odbccp32.dll"), + szBuffer, + sizeof(szBuffer) / sizeof(TCHAR)) > 0) + { + hLibrary = LoadLibrary(szBuffer); + if (hLibrary) + { + ODBCProc = (APPLET_PROC)GetProcAddress(hLibrary, "ODBCCPlApplet"); + } + } + } - TerminateProcess(GetCurrentProcess(), -1); - return (LONG)-1; - } + if (ODBCProc) + { + return ODBCProc(hwndCpl, uMsg, lParam1, lParam2); + } + else + { + if (hLibrary) + { + FreeLibrary(hLibrary); + } + + TerminateProcess(GetCurrentProcess(), -1); + return (LONG)-1; + } + } + } + + return FALSE; } From ecdfc31590a9dc5198adc41d407985470c8c56fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 22 Jun 2014 09:37:55 +0000 Subject: [PATCH 110/120] [ODBCCP32]: Whitespace fixes only. svn path=/trunk/; revision=63626 --- reactos/dll/cpl/odbccp32/odbccp32.c | 39 +++++++++++++++-------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/reactos/dll/cpl/odbccp32/odbccp32.c b/reactos/dll/cpl/odbccp32/odbccp32.c index 194ea052467..57f150ad4cb 100644 --- a/reactos/dll/cpl/odbccp32/odbccp32.c +++ b/reactos/dll/cpl/odbccp32/odbccp32.c @@ -15,9 +15,9 @@ HMODULE hLibrary = NULL; LONG CALLBACK CPlApplet(HWND hwndCpl, - UINT uMsg, - LPARAM lParam1, - LPARAM lParam2) + UINT uMsg, + LPARAM lParam1, + LPARAM lParam2) { switch (uMsg) { @@ -66,24 +66,25 @@ CPlApplet(HWND hwndCpl, BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD dwReason, - LPVOID lpReserved) + DWORD dwReason, + LPVOID lpReserved) { - INITCOMMONCONTROLSEX InitControls; - UNREFERENCED_PARAMETER(lpReserved); + INITCOMMONCONTROLSEX InitControls; + UNREFERENCED_PARAMETER(lpReserved); - switch(dwReason) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: + switch(dwReason) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + { + InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX); + InitControls.dwICC = ICC_LISTVIEW_CLASSES | ICC_UPDOWN_CLASS | ICC_BAR_CLASSES; + InitCommonControlsEx(&InitControls); - InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX); - InitControls.dwICC = ICC_LISTVIEW_CLASSES | ICC_UPDOWN_CLASS | ICC_BAR_CLASSES; - InitCommonControlsEx(&InitControls); + hApplet = hinstDLL; + break; + } + } - hApplet = hinstDLL; - break; - } - - return TRUE; + return TRUE; } From f48241c5b8fa7f3b13338d6ec8a4e218aed2c751 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 22 Jun 2014 18:33:18 +0000 Subject: [PATCH 111/120] [APPLICATIONS][NEWDEV] - Remove broken function pointer casts svn path=/trunk/; revision=63627 --- reactos/base/applications/calc/winmain.c | 4 ++-- reactos/base/applications/magnify/magnifier.c | 6 +++--- reactos/base/applications/mspaint/dialogs.c | 12 ++++++------ reactos/dll/win32/newdev/wizard.c | 16 ++++++++-------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/reactos/base/applications/calc/winmain.c b/reactos/base/applications/calc/winmain.c index 8944790482b..589a453a6ae 100644 --- a/reactos/base/applications/calc/winmain.c +++ b/reactos/base/applications/calc/winmain.c @@ -1626,7 +1626,7 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) if (IsWindow(calc.hStatWnd)) break; calc.hStatWnd = CreateDialog(calc.hInstance, - MAKEINTRESOURCE(IDD_DIALOG_STAT), hWnd, (DLGPROC)DlgStatProc); + MAKEINTRESOURCE(IDD_DIALOG_STAT), hWnd, DlgStatProc); if (calc.hStatWnd != NULL) { enable_allowed_controls(hWnd, calc.base); SendMessage(calc.hStatWnd, WM_SETFOCUS, 0, 0); @@ -1722,7 +1722,7 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL dwLayout = IDD_DIALOG_STANDARD; /* This call will always fail if UNICODE for Win9x */ - if (NULL == CreateDialog(hInstance, MAKEINTRESOURCE(dwLayout), NULL, (DLGPROC)DlgMainProc)) + if (NULL == CreateDialog(hInstance, MAKEINTRESOURCE(dwLayout), NULL, DlgMainProc)) break; while (GetMessage(&msg, NULL, 0, 0)) { diff --git a/reactos/base/applications/magnify/magnifier.c b/reactos/base/applications/magnify/magnifier.c index 8d8bec5b35c..3af6236d46f 100644 --- a/reactos/base/applications/magnify/magnifier.c +++ b/reactos/base/applications/magnify/magnifier.c @@ -166,7 +166,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) if (bShowWarning) { - DialogBox (hInstance, MAKEINTRESOURCE(IDD_WARNINGDIALOG), hMainWnd, (DLGPROC)WarningProc); + DialogBox (hInstance, MAKEINTRESOURCE(IDD_WARNINGDIALOG), hMainWnd, WarningProc); } return TRUE; @@ -375,10 +375,10 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) switch (wmId) { case IDM_OPTIONS: - DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOGOPTIONS), hWnd, (DLGPROC)OptionsProc); + DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOGOPTIONS), hWnd, OptionsProc); break; case IDM_ABOUT: - DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, (DLGPROC)AboutProc); + DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, AboutProc); break; case IDM_EXIT: DestroyWindow(hWnd); diff --git a/reactos/base/applications/mspaint/dialogs.c b/reactos/base/applications/mspaint/dialogs.c index 7a7b4df093b..c0844dd8d9e 100644 --- a/reactos/base/applications/mspaint/dialogs.c +++ b/reactos/base/applications/mspaint/dialogs.c @@ -14,7 +14,7 @@ /* FUNCTIONS ********************************************************/ -LRESULT CALLBACK +INT_PTR CALLBACK MRDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) @@ -66,10 +66,10 @@ MRDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) int mirrorRotateDlg() { - return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_MIRRORROTATE), hMainWnd, (DLGPROC) MRDlgWinProc); + return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_MIRRORROTATE), hMainWnd, MRDlgWinProc); } -LRESULT CALLBACK +INT_PTR CALLBACK ATTDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) @@ -203,10 +203,10 @@ ATTDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) int attributesDlg() { - return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_ATTRIBUTES), hMainWnd, (DLGPROC) ATTDlgWinProc); + return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_ATTRIBUTES), hMainWnd, ATTDlgWinProc); } -LRESULT CALLBACK +INT_PTR CALLBACK CHSIZEDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) @@ -266,5 +266,5 @@ CHSIZEDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) int changeSizeDlg() { - return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_STRETCHSKEW), hMainWnd, (DLGPROC) CHSIZEDlgWinProc); + return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_STRETCHSKEW), hMainWnd, CHSIZEDlgWinProc); } diff --git a/reactos/dll/win32/newdev/wizard.c b/reactos/dll/win32/newdev/wizard.c index 12be7e0dedc..d94d49cd647 100644 --- a/reactos/dll/win32/newdev/wizard.c +++ b/reactos/dll/win32/newdev/wizard.c @@ -1255,49 +1255,49 @@ DisplayWizard( psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER; psp.hInstance = hDllInstance; psp.lParam = (LPARAM)DevInstData; - psp.pfnDlgProc = (DLGPROC) WelcomeDlgProc; + psp.pfnDlgProc = WelcomeDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_WELCOMEPAGE); ahpsp[IDD_WELCOMEPAGE] = CreatePropertySheetPage(&psp); /* Create the Select Source page */ psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; - psp.pfnDlgProc = (DLGPROC) CHSourceDlgProc; + psp.pfnDlgProc = CHSourceDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_CHSOURCE); ahpsp[IDD_CHSOURCE] = CreatePropertySheetPage(&psp); /* Create the Search driver page */ psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; - psp.pfnDlgProc = (DLGPROC) SearchDrvDlgProc; + psp.pfnDlgProc = SearchDrvDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_SEARCHDRV); ahpsp[IDD_SEARCHDRV] = CreatePropertySheetPage(&psp); /* Create the Install driver page */ psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; - psp.pfnDlgProc = (DLGPROC) InstallDrvDlgProc; + psp.pfnDlgProc = InstallDrvDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_INSTALLDRV); ahpsp[IDD_INSTALLDRV] = CreatePropertySheetPage(&psp); /* Create the No driver page */ psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER; - psp.pfnDlgProc = (DLGPROC) NoDriverDlgProc; + psp.pfnDlgProc = NoDriverDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_NODRIVER); ahpsp[IDD_NODRIVER] = CreatePropertySheetPage(&psp); /* Create the Install failed page */ psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER; - psp.pfnDlgProc = (DLGPROC) InstallFailedDlgProc; + psp.pfnDlgProc = InstallFailedDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_INSTALLFAILED); ahpsp[IDD_INSTALLFAILED] = CreatePropertySheetPage(&psp); /* Create the Need reboot page */ psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER; - psp.pfnDlgProc = (DLGPROC) NeedRebootDlgProc; + psp.pfnDlgProc = NeedRebootDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_NEEDREBOOT); ahpsp[IDD_NEEDREBOOT] = CreatePropertySheetPage(&psp); /* Create the Finish page */ psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER; - psp.pfnDlgProc = (DLGPROC) FinishDlgProc; + psp.pfnDlgProc = FinishDlgProc; psp.pszTemplate = MAKEINTRESOURCE(IDD_FINISHPAGE); ahpsp[IDD_FINISHPAGE] = CreatePropertySheetPage(&psp); From faa29d8704a37a92f06767ea007408a8378b4c38 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 22 Jun 2014 18:35:17 +0000 Subject: [PATCH 112/120] [CMAKE] - Correctly include the license for CMakeParseArguments.cmake svn path=/trunk/; revision=63628 --- reactos/cmake/CMakeParseArguments.cmake | 33 +++++++++++++++++++------ 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/reactos/cmake/CMakeParseArguments.cmake b/reactos/cmake/CMakeParseArguments.cmake index 7ce4c49ae5b..47b73f820e7 100644 --- a/reactos/cmake/CMakeParseArguments.cmake +++ b/reactos/cmake/CMakeParseArguments.cmake @@ -63,15 +63,34 @@ #============================================================================= # Copyright 2010 Alexander Neundorf # -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: # -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of Kitware, Inc., the Insight Software Consortium, +# nor the names of their contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) if(__CMAKE_PARSE_ARGUMENTS_INCLUDED) From ce303598e973ef03d3a5c070f077f8c8253fbdd5 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 22 Jun 2014 18:40:21 +0000 Subject: [PATCH 113/120] [NTDLL:LDR] - Fix buffer size calculation in LdrpSearchPath svn path=/trunk/; revision=63629 --- reactos/dll/ntdll/ldr/ldrutils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/dll/ntdll/ldr/ldrutils.c b/reactos/dll/ntdll/ldr/ldrutils.c index 3cc7608417e..2efeafd009f 100644 --- a/reactos/dll/ntdll/ldr/ldrutils.c +++ b/reactos/dll/ntdll/ldr/ldrutils.c @@ -1820,7 +1820,7 @@ LdrpSearchPath(IN PWCHAR *SearchPath, /* FIXME: Handle relative case semicolon-lookup here */ /* Calculate length */ - Length += (ULONG)wcslen(DllName) + sizeof(UNICODE_NULL); + Length += (ULONG)wcslen(DllName) + 1; if (Length > UNICODE_STRING_MAX_CHARS) { /* Too long, fail */ From 1da67b8fcd3ac3cf34d6abdc73ba91095701e475 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 22 Jun 2014 18:44:21 +0000 Subject: [PATCH 114/120] [RTL] - Apply Wine commit 5b0fcb06 (ntdll: Avoid crashing on an empty resource directory.) by Alexandre Julliard svn path=/trunk/; revision=63630 --- reactos/dll/ntdll/rtl/libsupp.c | 1 + reactos/ntoskrnl/rtl/libsupp.c | 1 + 2 files changed, 2 insertions(+) diff --git a/reactos/dll/ntdll/rtl/libsupp.c b/reactos/dll/ntdll/rtl/libsupp.c index 69d58f36f89..22c6811b91b 100644 --- a/reactos/dll/ntdll/rtl/libsupp.c +++ b/reactos/dll/ntdll/rtl/libsupp.c @@ -430,6 +430,7 @@ NTSTATUS find_entry( PVOID BaseAddress, LDR_RESOURCE_INFO *info, root = RtlImageDirectoryEntryToData( BaseAddress, TRUE, IMAGE_DIRECTORY_ENTRY_RESOURCE, &size ); if (!root) return STATUS_RESOURCE_DATA_NOT_FOUND; + if (size < sizeof(*resdirptr)) return STATUS_RESOURCE_DATA_NOT_FOUND; resdirptr = root; if (!level--) goto done; diff --git a/reactos/ntoskrnl/rtl/libsupp.c b/reactos/ntoskrnl/rtl/libsupp.c index b83519ed289..b5099a5f2de 100644 --- a/reactos/ntoskrnl/rtl/libsupp.c +++ b/reactos/ntoskrnl/rtl/libsupp.c @@ -695,6 +695,7 @@ NTSTATUS find_entry( PVOID BaseAddress, LDR_RESOURCE_INFO *info, root = RtlImageDirectoryEntryToData( BaseAddress, TRUE, IMAGE_DIRECTORY_ENTRY_RESOURCE, &size ); if (!root) return STATUS_RESOURCE_DATA_NOT_FOUND; + if (size < sizeof(*resdirptr)) return STATUS_RESOURCE_DATA_NOT_FOUND; resdirptr = root; if (!level--) goto done; From 6582b51c46a7b78ce49a067ac4cc3dc45a9266bc Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 22 Jun 2014 18:48:15 +0000 Subject: [PATCH 115/120] [UNIATA] - Fix page length calculation in IdeSendCommand/SCSIOP_MODE_SENSE case. Should be pushed upstream(TM). - Remove outdated file svn path=/trunk/; revision=63631 --- reactos/drivers/storage/ide/uniata/id_ata.cpp | 2 +- .../storage/ide/uniata/warningfixes.diff | 589 ------------------ 2 files changed, 1 insertion(+), 590 deletions(-) delete mode 100644 reactos/drivers/storage/ide/uniata/warningfixes.diff diff --git a/reactos/drivers/storage/ide/uniata/id_ata.cpp b/reactos/drivers/storage/ide/uniata/id_ata.cpp index 122431b1447..fc3edfe180b 100644 --- a/reactos/drivers/storage/ide/uniata/id_ata.cpp +++ b/reactos/drivers/storage/ide/uniata/id_ata.cpp @@ -7820,7 +7820,7 @@ default_no_prep: } else { RtlZeroMemory(modeData, sizeof(MODE_POWER_CONDITION_PAGE)); modeData->PageCode = MODE_PAGE_POWER_CONDITION; - modeData->PageLength = sizeof(MODE_PAGE_POWER_CONDITION)-sizeof(MODE_PARAMETER_HEADER); + modeData->PageLength = sizeof(MODE_POWER_CONDITION_PAGE)-sizeof(MODE_PARAMETER_HEADER); modeData->Byte3.Fields.Idle = LunExt->PowerState <= StartStop_Power_Idle; modeData->Byte3.Fields.Standby = LunExt->PowerState == StartStop_Power_Standby; Srb->DataTransferLength = sizeof(MODE_POWER_CONDITION_PAGE); diff --git a/reactos/drivers/storage/ide/uniata/warningfixes.diff b/reactos/drivers/storage/ide/uniata/warningfixes.diff deleted file mode 100644 index db828d8b556..00000000000 --- a/reactos/drivers/storage/ide/uniata/warningfixes.diff +++ /dev/null @@ -1,589 +0,0 @@ -Index: atapi.h -=================================================================== ---- atapi.h (revision 38451) -+++ atapi.h (working copy) -@@ -138,6 +138,10 @@ - - #else // _DEBUG - -+#ifdef KdPrint -+#undef KdPrint -+#endif -+ - #define PRINT_PREFIX "UniATA: " - - //#define KdPrint3(_x_) {if(LOG_ON_RAISED_IRQL_W2K || MajorVersion < 0x05 || KeGetCurrentIrql() <= 2){/*DbgPrint("%x: ", PsGetCurrentThread()) ;*/ DbgPrint _x_ ; if(g_LogToDisplay){ PrintNtConsole _x_ ;} }} -@@ -1063,8 +1067,8 @@ - - ULONG - AtapiParseArgumentString( -- IN PCHAR String, -- IN PCHAR KeyWord -+ IN PCCH String, -+ IN PCCH KeyWord - ); - - BOOLEAN -@@ -1202,15 +1206,15 @@ - IN PVOID HwDeviceExtension, - IN ULONG chan, - IN ULONG dev, -- IN PWSTR Name, -+ IN PCWSTR Name, - IN ULONG Default - ); - - extern ULONG - AtapiRegCheckParameterValue( - IN PVOID HwDeviceExtension, -- IN PWSTR PathSuffix, -- IN PWSTR Name, -+ IN PCWSTR PathSuffix, -+ IN PCWSTR Name, - IN ULONG Default - ); - -@@ -1220,7 +1224,7 @@ - VOID - _cdecl - _PrintNtConsole( -- PCHAR DebugMessage, -+ PCCH DebugMessage, - ... - ); - -Index: id_sata.cpp -=================================================================== ---- id_sata.cpp (revision 38451) -+++ id_sata.cpp (working copy) -@@ -7,7 +7,7 @@ - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -- ULONG Channel = deviceExtension->Channel + lChannel; -+ //ULONG Channel = deviceExtension->Channel + lChannel; - PHW_CHANNEL chan = &deviceExtension->chan[lChannel]; - SATA_SSTATUS_REG SStatus; - ULONG i; -@@ -126,7 +126,7 @@ - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PHW_CHANNEL chan = &deviceExtension->chan[lChannel]; -- ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; -+ //ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; - SATA_SSTATUS_REG SStatus; - SATA_SERROR_REG SError; - -Index: ntddk_ex.h -=================================================================== ---- ntddk_ex.h (revision 38451) -+++ ntddk_ex.h (working copy) -@@ -1,15 +1,12 @@ - #ifndef __NTDDK_EX__H__ - #define __NTDDK_EX__H__ - --#ifndef __REACTOS__ -+#ifdef ASSERT - #undef ASSERT --#define ASSERT --#else --#undef ASSERT --#define ASSERT //(x) if (!(x)) {RtlAssert("#x",__FILE__,__LINE__, ""); } --#endif //__REACTOS__ -+#define ASSERT(x) ((void)0) -+// #define ASSERT(x) if (!(x)) { RtlAssert("#x",__FILE__,__LINE__, ""); } -+#endif - -- - #ifndef FILE_CHARACTERISTIC_PNP_DEVICE // DDK 2003 - - #define FILE_CHARACTERISTIC_PNP_DEVICE 0x00000800 -Index: id_dma.cpp -=================================================================== ---- id_dma.cpp (revision 38451) -+++ id_dma.cpp (working copy) -@@ -219,7 +219,7 @@ - PHW_CHANNEL chan = &(deviceExtension->chan[lChannel]); - PATA_REQ AtaReq = (PATA_REQ)(Srb->SrbExtension); - BOOLEAN use_DB_IO = FALSE; -- BOOLEAN use_AHCI = FALSE; -+ //BOOLEAN use_AHCI = FALSE; - ULONG orig_count = count; - ULONG max_entries = (deviceExtension->HwFlags & UNIATA_AHCI) ? ATA_AHCI_DMA_ENTRIES : ATA_DMA_ENTRIES; - -@@ -281,7 +281,7 @@ - if(!dma_count || ((LONG)(dma_base) == -1)) { - KdPrint2((PRINT_PREFIX "AtapiDmaSetup: No 1st block\n" )); - //AtaReq->dma_base = NULL; -- AtaReq->ahci_base64 = NULL; -+ AtaReq->ahci_base64 = 0; - return FALSE; - } - -@@ -303,7 +303,7 @@ - if (i >= max_entries) { - KdPrint2((PRINT_PREFIX "too many segments in DMA table\n" )); - //AtaReq->dma_base = NULL; -- AtaReq->ahci_base64 = NULL; -+ AtaReq->ahci_base64 = 0; - return FALSE; - } - KdPrint2((PRINT_PREFIX " get Phys(data[n]=%x)\n", data )); -@@ -321,7 +321,7 @@ - } else - if(!dma_count || !dma_base || ((LONG)(dma_base) == -1)) { - //AtaReq->dma_base = NULL; -- AtaReq->ahci_base64 = NULL; -+ AtaReq->ahci_base64 = 0; - KdPrint2((PRINT_PREFIX "AtapiDmaSetup: No NEXT block\n" )); - return FALSE; - } -@@ -596,7 +596,7 @@ - ) - { - PHW_LU_EXTENSION LunExt = &(deviceExtension->lun[ldev]); -- CHAR apiomode; -+ SCHAR apiomode; - - apiomode = (CHAR)AtaPioMode(&(LunExt->IdentifyData)); - -@@ -612,7 +612,7 @@ - } - - if((deviceExtension->HbaCtrlFlags & HBAFLAGS_DMA_DISABLED_LBA48) && -- (AtaReq->lba >= ATA_MAX_LBA28) && -+ (AtaReq->lba >= (LONGLONG)ATA_MAX_LBA28) && - (LunExt->TransferMode > ATA_PIO5) ) { - KdPrint2((PRINT_PREFIX - "AtapiDmaReinit: FORCE_DOWNRATE on Device %d for LBA48\n", ldev & 1)); -@@ -623,7 +623,7 @@ - if(AtaReq->Flags & REQ_FLAG_FORCE_DOWNRATE) { - KdPrint2((PRINT_PREFIX - "AtapiDmaReinit: FORCE_DOWNRATE on Device %d\n", ldev & 1)); -- if(AtaReq->lba >= ATA_MAX_LBA28) { -+ if(AtaReq->lba >= (LONGLONG)ATA_MAX_LBA28) { - limit_lba48: - LunExt->DeviceFlags |= REQ_FLAG_FORCE_DOWNRATE_LBA48; - limit_pio: -@@ -754,9 +754,9 @@ - IN ULONG DeviceNumber, - IN ULONG lChannel, // logical channel, - // is always 0 except simplex-only controllers -- IN CHAR apiomode, -- IN CHAR wdmamode, -- IN CHAR udmamode -+ IN SCHAR apiomode, -+ IN SCHAR wdmamode, -+ IN SCHAR udmamode - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -@@ -1488,7 +1488,7 @@ - AtaSetTransferMode(deviceExtension, DeviceNumber, lChannel, LunExt, ATA_PIO0 + apiomode); - - SetPciConfig1(mreg, mode | (mask & 0x11)); -- SetPciConfig2(ureg - 0x8, sil_pio_modes[i]); -+ SetPciConfig2(ureg - 0x8, sil_pio_modes[apiomode]); - return; - - } else { -@@ -1538,7 +1538,7 @@ - /*******/ - /* SiS */ - /*******/ -- PULONG sis_modes; -+ PULONG sis_modes = NULL; - static const ULONG sis_modes_new133[] = - { 0x28269008, 0x0c266008, 0x04263008, 0x0c0a3008, 0x05093008, - 0x22196008, 0x0c0a3008, 0x05093008, 0x050939fc, 0x050936ac, -@@ -1553,9 +1553,9 @@ - { 0x00cb, 0x0067, 0x0044, 0x0033, 0x0031, 0x0044, 0x0033, 0x0031, - 0x8b31, 0x8731, 0x8531, 0x8431, 0x8231, 0x8131 }; - -- ULONG reg; -+ ULONG reg = 0; - UCHAR reg57; -- ULONG reg_size; -+ ULONG reg_size = 0; - ULONG offs; - - switch(ChipType) { -@@ -1731,8 +1731,8 @@ - AtaSetTransferMode(deviceExtension, DeviceNumber, lChannel, LunExt, ATA_PIO0 + apiomode); - ChangePciConfig1(0x50, a | (1 << (dev + 3)) ); - GetPciConfig1(0x54 + offset, reg54); -- if(reg54 < chtiming[i]) { -- SetPciConfig1(0x54 + offset, chtiming[i]); -+ if(reg54 < chtiming[apiomode]) { -+ SetPciConfig1(0x54 + offset, chtiming[apiomode]); - } - return; - } -@@ -1901,7 +1901,7 @@ - ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; - //ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; - -- ULONG timing; -+ ULONG timing = 0; - - if(mode == ATA_PIO5) - mode = ATA_PIO4; -Index: id_badblock.cpp -=================================================================== ---- id_badblock.cpp (revision 38451) -+++ id_badblock.cpp (working copy) -@@ -159,7 +159,11 @@ - L"UniATA\\Parameters\\BadBlocks", - QueryTable, 0, 0); - -+#ifdef _DEBUG - KdPrint(( "InitBadBlocks returned: %#x\n", status)); -+#else -+ UNREFERENCED_PARAMETER(status); -+#endif - } else { - - KdPrint(( "InitBadBlocks local\n")); -Index: id_init.cpp -=================================================================== ---- id_init.cpp (revision 38451) -+++ id_init.cpp (working copy) -@@ -52,11 +52,11 @@ - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -- ULONG slotNumber = deviceExtension->slotNumber; -- ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; -+ //ULONG slotNumber = deviceExtension->slotNumber; -+ //ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - ULONG VendorID = deviceExtension->DevID & 0xffff; -- ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -- ULONG RevID = deviceExtension->RevID; -+ //ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -+ //ULONG RevID = deviceExtension->RevID; - ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; - ULONG ChipFlags= deviceExtension->HwFlags & CHIPFLAG_MASK; - -@@ -216,7 +216,7 @@ - PCI_DEV_HW_SPEC_BM( 0730, 1039, 0x00, ATA_UDMA5, "SiS 730" , SIS100OLD ), - - PCI_DEV_HW_SPEC_BM( 0646, 1039, 0x00, ATA_UDMA6, "SiS 645DX", SIS133NEW ), --/* PCI_DEV_HW_SPEC_BM( 0645, 1039, 0x00, ATA_UDMA6, "SiS 645" , SIS133NEW ), -+/* PCI_DEV_HW_SPEC_BM( 0645, 1039, 0x00, ATA_UDMA6, "SiS 645" , SIS133NEW ),*/ - /* PCI_DEV_HW_SPEC_BM( 0640, 1039, 0x00, ATA_UDMA4, "SiS 640" , SIS_SOUTH ),*/ - PCI_DEV_HW_SPEC_BM( 0635, 1039, 0x00, ATA_UDMA5, "SiS 635" , SIS100NEW ), - PCI_DEV_HW_SPEC_BM( 0633, 1039, 0x00, ATA_UDMA5, "SiS 633" , SIS100NEW ), -@@ -419,7 +419,7 @@ - BaseIoAddressBM = AtapiGetIoRange(HwDeviceExtension, ConfigInfo, pciData, SystemIoBusNumber, - 4, 0, deviceExtension->NumberChannels*sizeof(IDE_BUSMASTER_REGISTERS)); - for(c=0; cNumberChannels; c++) { -- ULONG unit01 = (c & 1); -+ //ULONG unit01 = (c & 1); - ULONG unit10 = (c & 2); - chan = &deviceExtension->chan[c]; - -@@ -987,7 +987,7 @@ - IN ULONG slotNumber - ) - { -- PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -+ //PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PCI_COMMON_CONFIG pciData; - ULONG funcNumber; - ULONG busDataRead; -@@ -1039,7 +1039,7 @@ - IN ULONG c - ) - { -- PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -+ //PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PCI_COMMON_CONFIG pciData; - ULONG funcNumber; - ULONG busDataRead; -@@ -1174,7 +1174,7 @@ - ULONG slotNumber = deviceExtension->slotNumber; - ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - -- ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; -+ //ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; - PHW_CHANNEL chan; - ULONG c; // logical channel (for Compatible Mode controllers) - UCHAR tmp8; -@@ -1332,7 +1332,9 @@ - ULONG slotNumber = deviceExtension->slotNumber; - ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - ULONG VendorID = deviceExtension->DevID & 0xffff; -+#ifdef _DEBUG - ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -+#endif - ULONG RevID = deviceExtension->RevID; - // ULONG i; - // BUSMASTER_CONTROLLER_INFORMATION* DevTypeInfo; -Index: id_ata.cpp -=================================================================== ---- id_ata.cpp (revision 38451) -+++ id_ata.cpp (working copy) -@@ -1864,7 +1864,9 @@ - ULONG slotNumber = deviceExtension->slotNumber; - ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - ULONG VendorID = deviceExtension->DevID & 0xffff; -+#ifdef _DEBUG - ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -+#endif - //ULONG RevID = deviceExtension->RevID; - ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; - UCHAR tmp8; -@@ -2859,12 +2861,12 @@ - --*/ - ULONG - AtapiParseArgumentString( -- IN PCHAR String, -- IN PCHAR KeyWord -+ IN PCCH String, -+ IN PCCH KeyWord - ) - { -- PCHAR cptr; -- PCHAR kptr; -+ PCCH cptr; -+ PCCH kptr; - ULONG value; - ULONG stringLength = 0; - ULONG keyWordLength = 0; -@@ -2877,24 +2879,15 @@ - return 0; - } - -- // Calculate the string length and lower case all characters. -+ // Calculate the string length. - cptr = String; -- while (*cptr) { -- if (*cptr >= 'A' && *cptr <= 'Z') { -- *cptr = *cptr + ('a' - 'A'); -- } -- cptr++; -+ while (*cptr++) { - stringLength++; - } - -- // Calculate the keyword length and lower case all characters. -- cptr = KeyWord; -- while (*cptr) { -- -- if (*cptr >= 'A' && *cptr <= 'Z') { -- *cptr = *cptr + ('a' - 'A'); -- } -- cptr++; -+ // Calculate the keyword length. -+ kptr = KeyWord; -+ while (*kptr++) { - keyWordLength++; - } - -@@ -2920,18 +2913,21 @@ - } - - kptr = KeyWord; -- while (*cptr++ == *kptr++) { -+ while ((*cptr == *kptr) || -+ (*cptr <= 'Z' && *cptr + ('a' - 'A') == *kptr) || -+ (*cptr >= 'a' && *cptr - ('a' - 'A') == *kptr)) { -+ cptr++; -+ kptr++; - -- if (*(cptr - 1) == '\0') { -+ if (*cptr == '\0') { - // end of string - return 0; - } - } - -- if (*(kptr - 1) == '\0') { -+ if (*kptr == '\0') { - - // May have a match backup and check for blank or equals. -- cptr--; - while (*cptr == ' ' || *cptr == '\t') { - cptr++; - } -@@ -2967,7 +2963,7 @@ - } - - value = 0; -- if ((*cptr == '0') && (*(cptr + 1) == 'x')) { -+ if ((*cptr == '0') && ((*(cptr + 1) == 'x') || (*(cptr + 1) == 'X'))) { - // Value is in Hex. Skip the "0x" - cptr += 2; - for (index = 0; *(cptr + index); index++) { -@@ -2983,6 +2979,8 @@ - } else { - if ((*(cptr + index) >= 'a') && (*(cptr + index) <= 'f')) { - value = (16 * value) + (*(cptr + index) - 'a' + 10); -+ } else if ((*(cptr + index) >= 'A') && (*(cptr + index) <= 'F')) { -+ value = (16 * value) + (*(cptr + index) - 'A' + 10); - } else { - // Syntax error, return not found. - return 0; -@@ -8752,10 +8750,10 @@ - ULONG - AtapiRegCheckDevLunValue( - IN PVOID HwDeviceExtension, -- IN PWCHAR NamePrefix, -+ IN PCWCH NamePrefix, - IN ULONG chan, - IN ULONG dev, -- IN PWSTR Name, -+ IN PCWSTR Name, - IN ULONG Default - ) - { -@@ -8822,7 +8820,7 @@ - IN PVOID HwDeviceExtension, - IN ULONG chan, - IN ULONG dev, -- IN PWSTR Name, -+ IN PCWSTR Name, - IN ULONG Default - ) - { -@@ -8940,8 +8938,8 @@ - ULONG - AtapiRegCheckParameterValue( - IN PVOID HwDeviceExtension, -- IN PWSTR PathSuffix, -- IN PWSTR Name, -+ IN PCWSTR PathSuffix, -+ IN PCWSTR Name, - IN ULONG Default - ) - { -@@ -9108,7 +9106,7 @@ - VOID - _cdecl - _PrintNtConsole( -- PCHAR DebugMessage, -+ PCCH DebugMessage, - ... - ) - { -Index: id_probe.cpp -=================================================================== ---- id_probe.cpp (revision 38451) -+++ id_probe.cpp (working copy) -@@ -76,7 +76,6 @@ - VOID - AtapiDoNothing(VOID) - { -- ULONG i = 0; - return; - } // end AtapiDoNothing() - -@@ -504,8 +503,8 @@ - /* if(known) { - RtlCopyMemory(newBMListPtr, (PVOID)&(BusMasterAdapters[i]), sizeof(BUSMASTER_CONTROLLER_INFORMATION)); - } else {*/ -- sprintf((PCHAR)vendorStrPtr, "%4.4x", VendorID); -- sprintf((PCHAR)deviceStrPtr, "%4.4x", DeviceID); -+ sprintf((PCHAR)vendorStrPtr, "%4.4lx", VendorID); -+ sprintf((PCHAR)deviceStrPtr, "%4.4lx", DeviceID); - - RtlCopyMemory(&(newBMListPtr->VendorIdStr), (PCHAR)vendorStrPtr, 4); - RtlCopyMemory(&(newBMListPtr->DeviceIdStr), (PCHAR)deviceStrPtr, 4); -@@ -874,7 +873,11 @@ - BOOLEAN found = FALSE; - BOOLEAN MasterDev; - BOOLEAN simplexOnly = FALSE; -+#ifndef UNIATA_CORE -+#ifdef UNIATA_INIT_ON_PROBE - BOOLEAN skip_find_dev = FALSE; -+#endif -+#endif - BOOLEAN AltInit = FALSE; - - SCSI_PHYSICAL_ADDRESS IoBasePort1; -@@ -1712,7 +1715,7 @@ - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -- PHW_CHANNEL chan = NULL; -+ //PHW_CHANNEL chan = NULL; - // this buffer must be global for UNIATA_CORE build - PCI_COMMON_CONFIG pciData; - -@@ -1743,8 +1746,8 @@ - BOOLEAN found = FALSE; - BOOLEAN MasterDev; - BOOLEAN simplexOnly = FALSE; -- BOOLEAN skip_find_dev = FALSE; -- BOOLEAN AltInit = FALSE; -+ //BOOLEAN skip_find_dev = FALSE; -+ //BOOLEAN AltInit = FALSE; - - PIDE_BUSMASTER_REGISTERS BaseIoAddressBM_0 = NULL; - -@@ -1797,7 +1800,7 @@ - &pciData, - PCI_COMMON_HDR_LENGTH); - -- if (busDataRead < PCI_COMMON_HDR_LENGTH) { -+ if (busDataRead < (ULONG)PCI_COMMON_HDR_LENGTH) { - KdPrint2((PRINT_PREFIX "busDataRead < PCI_COMMON_HDR_LENGTH => SP_RETURN_ERROR\n")); - goto exit_error; - } -@@ -2207,7 +2210,7 @@ - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PHW_CHANNEL chan; - PULONG adapterCount = (PULONG)Context; -- PUCHAR ioSpace; -+ PUCHAR ioSpace = NULL; - ULONG i; - ULONG irq=0; - ULONG portBase; -@@ -2217,7 +2220,7 @@ - BOOLEAN preConfig = FALSE; - // - PIDE_REGISTERS_1 BaseIoAddress1; -- PIDE_REGISTERS_2 BaseIoAddress2; -+ PIDE_REGISTERS_2 BaseIoAddress2 = NULL; - - // The following table specifies the ports to be checked when searching for - // an IDE controller. A zero entry terminates the search. -Index: bm_devs.h -=================================================================== ---- bm_devs.h (revision 38451) -+++ bm_devs.h (working copy) -@@ -482,7 +482,7 @@ - { #idlo, 4, 0x##idlo, #idhi, 4, 0x##idhi, rev, mode, name, flags} - #else - #define PCI_DEV_HW_SPEC_BM(idhi, idlo, rev, mode, name, flags) \ -- { #idlo, 4, 0x##idlo, #idhi, 4, 0x##idhi, rev, mode, NULL, flags} -+ { (PCHAR) #idlo, 4, 0x##idlo, (PCHAR) #idhi, 4, 0x##idhi, rev, mode, NULL, flags} - #endif - - #define BMLIST_TERMINATOR (0xffffffffL) -Index: bsmaster.h -=================================================================== ---- bsmaster.h (revision 38451) -+++ bsmaster.h (working copy) -@@ -987,7 +987,7 @@ - BOOLEAN opt_AtapiDmaRawRead; // default TRUE - BOOLEAN opt_AtapiDmaReadWrite; // default TRUE - -- PCHAR FullDevName; -+ PCCH FullDevName; - - } HW_DEVICE_EXTENSION, *PHW_DEVICE_EXTENSION; - -@@ -1172,9 +1172,9 @@ - IN ULONG DeviceNumber, - IN ULONG lChannel, // logical channel, - // is always 0 except simplex-only controllers -- IN CHAR apiomode, -- IN CHAR wdmamode, -- IN CHAR udmamode -+ IN SCHAR apiomode, -+ IN SCHAR wdmamode, -+ IN SCHAR udmamode - ); - - extern BOOLEAN NTAPI From 1fd39b3a08d345185ebfe892ff174332c6b30e7a Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 22 Jun 2014 18:51:11 +0000 Subject: [PATCH 116/120] [WS2_32] - Correctly handle port 0 in getaddrinfo - Stub numeric port case of getnameinfo svn path=/trunk/; revision=63632 --- reactos/dll/win32/ws2_32/misc/ns.c | 5 +++-- reactos/dll/win32/ws2_32/misc/stubs.c | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/ws2_32/misc/ns.c b/reactos/dll/win32/ws2_32/misc/ns.c index 9c37bbcf9ff..1ac0bc83811 100644 --- a/reactos/dll/win32/ws2_32/misc/ns.c +++ b/reactos/dll/win32/ws2_32/misc/ns.c @@ -1596,6 +1596,7 @@ getaddrinfo(const char FAR * nodename, struct addrinfo *ret = NULL, *ai; ULONG addr; USHORT port; + PCHAR pc; struct servent *se; char *proto; LPPROTOENT pent; @@ -1624,9 +1625,9 @@ getaddrinfo(const char FAR * nodename, if (servname) { /* converting port number */ - port = strtoul(servname, NULL, 10); + port = strtoul(servname, &pc, 10); /* service name was specified? */ - if (port == 0) + if (*pc != ANSI_NULL) { /* protocol was specified? */ if (hints && hints->ai_protocol) diff --git a/reactos/dll/win32/ws2_32/misc/stubs.c b/reactos/dll/win32/ws2_32/misc/stubs.c index de16a1c2125..edcfe005095 100644 --- a/reactos/dll/win32/ws2_32/misc/stubs.c +++ b/reactos/dll/win32/ws2_32/misc/stubs.c @@ -11,6 +11,7 @@ #include "ws2_32.h" #include +#include /* * @implemented @@ -895,6 +896,16 @@ getnameinfo(const struct sockaddr FAR * sa, DWORD servlen, INT flags) { + if (!host && serv && flags & NI_NUMERICSERV) + { + const struct sockaddr_in *sa_in = (const struct sockaddr_in *)sa; + if (salen >= sizeof(*sa_in) && sa->sa_family == AF_INET) + { + StringCbPrintfA(serv, servlen, "%u", sa_in->sin_port); + return 0; + } + } + UNIMPLEMENTED WSASetLastError(WSASYSCALLFAILURE); From 9e0c44c18da3f7e308a6953d5788d440e38c7b3b Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Mon, 23 Jun 2014 15:21:13 +0000 Subject: [PATCH 117/120] [ADVAPI32] - Do not use the upper byte of RtlRandom's result in RtlGenRandom, since the function only generates 31 bits. Should fix UuidCreate test in rpcrt4:rpc. svn path=/trunk/; revision=63633 --- reactos/dll/win32/advapi32/misc/sysfunc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/advapi32/misc/sysfunc.c b/reactos/dll/win32/advapi32/misc/sysfunc.c index b8fc700b076..12713ddc945 100644 --- a/reactos/dll/win32/advapi32/misc/sysfunc.c +++ b/reactos/dll/win32/advapi32/misc/sysfunc.c @@ -607,9 +607,9 @@ SystemFunction036(PVOID pbBuffer, ULONG dwLen) do { /* Get each byte from the pseudo random number and store it in the buffer */ - *pBuffer = (BYTE)(uPseudoRandom >> 8 * (dwLen % 4) & 0xFF); + *pBuffer = (BYTE)(uPseudoRandom >> 8 * (dwLen % 3) & 0xFF); ++pBuffer; - } while(--dwLen % 4); + } while(--dwLen % 3); } while(dwLen); return TRUE; From 63861e09a4ca21d122337ab4bf1ce6b3893772cc Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Mon, 23 Jun 2014 20:30:54 +0000 Subject: [PATCH 118/120] [NTDLL:LDR] - Actually use DPFLTR_LDR_ID in debug prints instead of a magic value and a comment - Use RtlInitEmptyUnicodeString where appropriate svn path=/trunk/; revision=63635 --- reactos/dll/ntdll/include/ntdll.h | 2 +- reactos/dll/ntdll/ldr/ldrapi.c | 14 ++++++------ reactos/dll/ntdll/ldr/ldrutils.c | 36 +++++++++++++++---------------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/reactos/dll/ntdll/include/ntdll.h b/reactos/dll/ntdll/include/ntdll.h index a0e8f312e09..d4fe4969bb8 100644 --- a/reactos/dll/ntdll/include/ntdll.h +++ b/reactos/dll/ntdll/include/ntdll.h @@ -27,11 +27,11 @@ #include #include #include +#include #define NTOS_MODE_USER #include #include #include -#include #include #include #include diff --git a/reactos/dll/ntdll/ldr/ldrapi.c b/reactos/dll/ntdll/ldr/ldrapi.c index 3e094630916..ec1ee9d10b4 100644 --- a/reactos/dll/ntdll/ldr/ldrapi.c +++ b/reactos/dll/ntdll/ldr/ldrapi.c @@ -322,10 +322,8 @@ LdrLoadDll(IN PWSTR SearchPath OPTIONAL, PTEB Teb = NtCurrentTeb(); /* Initialize the strings */ + RtlInitEmptyUnicodeString(&DllString1, StringBuffer, sizeof(StringBuffer)); RtlInitEmptyUnicodeString(&DllString2, NULL, 0); - DllString1.Buffer = StringBuffer; - DllString1.Length = 0; - DllString1.MaximumLength = sizeof(StringBuffer); /* Check if the SxS Assemblies specify another file */ Status = RtlDosApplyFileIsolationRedirection_Ustr(TRUE, @@ -410,8 +408,7 @@ LdrLoadDll(IN PWSTR SearchPath OPTIONAL, (Status != STATUS_OBJECT_NAME_NOT_FOUND) && (Status != STATUS_DLL_INIT_FAILED)) { - // 85 == DPFLTR_LDR_ID; - DbgPrintEx(85, + DbgPrintEx(DPFLTR_LDR_ID, DPFLTR_WARNING_LEVEL, "LDR: %s - failing because LdrpLoadDll(%wZ) returned status %x\n", __FUNCTION__, @@ -503,8 +500,11 @@ LdrFindEntryForAddress(PVOID Address, } /* Nothing found */ - // 85 == DPFLTR_LDR_ID; - DbgPrintEx(85, DPFLTR_WARNING_LEVEL, "LDR: %s() exiting 0x%08lx\n", __FUNCTION__, STATUS_NO_MORE_ENTRIES); + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_WARNING_LEVEL, + "LDR: %s() exiting 0x%08lx\n", + __FUNCTION__, + STATUS_NO_MORE_ENTRIES); return STATUS_NO_MORE_ENTRIES; } diff --git a/reactos/dll/ntdll/ldr/ldrutils.c b/reactos/dll/ntdll/ldr/ldrutils.c index 2efeafd009f..201a48dc11f 100644 --- a/reactos/dll/ntdll/ldr/ldrutils.c +++ b/reactos/dll/ntdll/ldr/ldrutils.c @@ -1072,8 +1072,8 @@ LdrpMapDll(IN PWSTR SearchPath OPTIONAL, if (!NT_SUCCESS(Status) && (Status != STATUS_DLL_NOT_FOUND)) { /* Failure */ - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - call to LdrpCheckForKnownDll(\"%ws\", ...) failed with status %x\n", __FUNCTION__, DllName, @@ -1660,8 +1660,8 @@ LdrpResolveFullName(IN PUNICODE_STRING OriginalName, /* Display debug output if snaps are on */ if (ShowSnaps) { - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Expanding full name of %wZ\n", __FUNCTION__, OriginalName); @@ -1737,16 +1737,16 @@ Quickie: /* Check which output to use -- failure or success */ if (NT_SUCCESS(Status)) { - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Expanded to %wZ\n", __FUNCTION__, *ExpandedName); } else { - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Failed to expand %wZ; 0x%08x\n", __FUNCTION__, OriginalName, @@ -1784,8 +1784,8 @@ LdrpSearchPath(IN PWCHAR *SearchPath, /* Display debug output if snaps are on */ if (ShowSnaps) { - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Looking for %ws in %ws\n", __FUNCTION__, DllName, @@ -1852,8 +1852,8 @@ LdrpSearchPath(IN PWCHAR *SearchPath, /* Display debug output if snaps are on */ if (ShowSnaps) { - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Looking for %ws\n", __FUNCTION__, Buffer); @@ -1932,16 +1932,16 @@ Quickie: /* Check which output to use -- failure or success */ if (NT_SUCCESS(Status)) { - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Returning %wZ\n", __FUNCTION__, *ExpandedName); } else { - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Unable to locate %ws in %ws: 0x%08x\n", __FUNCTION__, DllName, @@ -2455,8 +2455,8 @@ LdrpLoadDll(IN BOOLEAN Redirected, sizeof(NameBuffer)) { /* No space to add the extension */ - DbgPrintEx(81, //DPFLTR_LDR_ID, - 0, + DbgPrintEx(DPFLTR_LDR_ID, + DPFLTR_ERROR_LEVEL, "LDR: %s - Dll name missing extension; with extension " "added the name is too long\n" " DllName: (@ %p) \"%wZ\"\n" From f5c9dd0ad67f918513537f836c3741d21f9a5006 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Mon, 23 Jun 2014 20:39:49 +0000 Subject: [PATCH 119/120] [RPCRT4][CRT] - Do not omit the last argument to VirtualProtect, it will cause the function to fail svn path=/trunk/; revision=63636 --- reactos/dll/win32/rpcrt4/cproxy.c | 3 ++- reactos/dll/win32/rpcrt4/cstub.c | 3 ++- reactos/lib/sdk/crt/except/stack.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/cproxy.c b/reactos/dll/win32/rpcrt4/cproxy.c index bc5fcf008cf..bf8a5910d81 100644 --- a/reactos/dll/win32/rpcrt4/cproxy.c +++ b/reactos/dll/win32/rpcrt4/cproxy.c @@ -175,13 +175,14 @@ static const struct thunk *allocate_block( unsigned int num ) { unsigned int i; struct thunk *prev, *block; + DWORD oldprot; block = VirtualAlloc( NULL, BLOCK_SIZE * sizeof(*block), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE ); if (!block) return NULL; for (i = 0; i < BLOCK_SIZE; i++) init_thunk( &block[i], BLOCK_SIZE * num + i + 3 ); - VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, NULL ); + VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, &oldprot ); prev = InterlockedCompareExchangePointer( (void **)&method_blocks[num], block, NULL ); if (prev) /* someone beat us to it */ { diff --git a/reactos/dll/win32/rpcrt4/cstub.c b/reactos/dll/win32/rpcrt4/cstub.c index d3a26d73c93..5beeec173f7 100644 --- a/reactos/dll/win32/rpcrt4/cstub.c +++ b/reactos/dll/win32/rpcrt4/cstub.c @@ -176,6 +176,7 @@ static const vtbl_method_t *allocate_block( unsigned int num ) { unsigned int i; vtbl_method_t *prev, *block; + DWORD oldprot; block = VirtualAlloc( NULL, BLOCK_SIZE * sizeof(*block), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE ); @@ -186,7 +187,7 @@ static const vtbl_method_t *allocate_block( unsigned int num ) memcpy( &block[i], opcodes, sizeof(opcodes) ); block[i].offset = (BLOCK_SIZE * num + i + 3) * sizeof(void *); } - VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, NULL ); + VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, &oldprot ); prev = InterlockedCompareExchangePointer( (void **)&method_blocks[num], block, NULL ); if (prev) /* someone beat us to it */ { diff --git a/reactos/lib/sdk/crt/except/stack.c b/reactos/lib/sdk/crt/except/stack.c index 0fc725c6e50..61416121ff6 100644 --- a/reactos/lib/sdk/crt/except/stack.c +++ b/reactos/lib/sdk/crt/except/stack.c @@ -38,7 +38,8 @@ void _chkesp_failed(void) int CDECL _resetstkoflw(void) { int stack_addr; + DWORD oldprot; /* causes stack fault that updates NtCurrentTeb()->Tib.StackLimit */ - return VirtualProtect( &stack_addr, 1, PAGE_GUARD|PAGE_READWRITE, NULL ); + return VirtualProtect(&stack_addr, 1, PAGE_GUARD|PAGE_READWRITE, &oldprot); } From 6e592c35e9aee2d270a13e9e90ba56b360504f3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Mon, 23 Jun 2014 22:07:33 +0000 Subject: [PATCH 120/120] [NTDLL]: Addendum to r63635. svn path=/trunk/; revision=63637 --- reactos/dll/ntdll/ldr/ldrpe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/dll/ntdll/ldr/ldrpe.c b/reactos/dll/ntdll/ldr/ldrpe.c index a127e5798a1..bd0600544d7 100644 --- a/reactos/dll/ntdll/ldr/ldrpe.c +++ b/reactos/dll/ntdll/ldr/ldrpe.c @@ -711,7 +711,7 @@ LdrpWalkImportDescriptor(IN LPWSTR DllPath OPTIONAL, if (!NT_SUCCESS(Status)) { /* Exit */ - DbgPrintEx(51, // DPFLTR_SXS_ID + DbgPrintEx(DPFLTR_SXS_ID, DPFLTR_WARNING_LEVEL, "LDR: RtlGetActiveActivationContext() failed; ntstatus = " "0x%08lx\n",